Splitting removal and expiration for sanity
Some checks failed
Build Pogdark API / Build Pogdark API (push) Has been cancelled
Some checks failed
Build Pogdark API / Build Pogdark API (push) Has been cancelled
This commit is contained in:
parent
4fe9e5639e
commit
ac243eef2e
24
main.go
24
main.go
@ -176,8 +176,24 @@ func broadcastAllRecords(s *Server) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func broadcastRemovedRecords(s *Server, expired string) {
|
func broadcastRemovedRecords(s *Server, message Message) {
|
||||||
var message Message = Message{Id: expired, Name: "", Image: "", Status: "expired", Timestamp: ""}
|
var msgJSON, err = json.Marshal(message)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("Error marshalling json:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Printf("Broadcasting removal: %s,%s,%s,%s to %d clients\n", message.Id, message.Status, message.Name, message.Timestamp, len(s.clients))
|
||||||
|
|
||||||
|
for client := range s.clients {
|
||||||
|
if err := client.conn.WriteMessage(websocket.TextMessage, msgJSON); err != nil {
|
||||||
|
log.Println("Failed to broadcast update:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func broadcastExpiredRecords(s *Server, removed string) {
|
||||||
|
var message = Message{Id: removed, Name: "", Image: "", Status: "removed", Timestamp: ""}
|
||||||
var msgJSON, err = json.Marshal(message)
|
var msgJSON, err = json.Marshal(message)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("Error marshalling json:", err)
|
log.Println("Error marshalling json:", err)
|
||||||
@ -225,7 +241,7 @@ func (s *Server) listenForExpirationEvents() {
|
|||||||
expiredID := msg.Payload
|
expiredID := msg.Payload
|
||||||
fmt.Println(expiredID)
|
fmt.Println(expiredID)
|
||||||
// Broadcast expiration event
|
// Broadcast expiration event
|
||||||
broadcastRemovedRecords(s, expiredID)
|
broadcastExpiredRecords(s, expiredID)
|
||||||
fmt.Printf("Done Broadcasting Expiration\n")
|
fmt.Printf("Done Broadcasting Expiration\n")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,7 +335,7 @@ func setState(w http.ResponseWriter, r *http.Request, s *Server) {
|
|||||||
http.Error(w, "Failed to delete key from Redis", http.StatusInternalServerError)
|
http.Error(w, "Failed to delete key from Redis", http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
broadcastRemovedRecords(s, message.Id)
|
broadcastRemovedRecords(s, message)
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user