|
@@ -168,9 +168,19 @@ func runMessageQueue(wg *sync.WaitGroup, ctx context.Context) {
|
|
|
go logic.ManageZombies(ctx, peerUpdate)
|
|
|
go logic.DeleteExpiredNodes(ctx, peerUpdate)
|
|
|
for nodeUpdate := range peerUpdate {
|
|
|
- if err := mq.NodeUpdate(nodeUpdate); err != nil {
|
|
|
- logger.Log(0, "failed to send peer update for deleted node: ", nodeUpdate.ID.String(), err.Error())
|
|
|
+ if nodeUpdate == nil {
|
|
|
+ continue
|
|
|
}
|
|
|
+ node := nodeUpdate
|
|
|
+ node.Action = models.NODE_DELETE
|
|
|
+ node.PendingDelete = true
|
|
|
+ if err := mq.NodeUpdate(node); err != nil {
|
|
|
+ logger.Log(0, "failed to send peer update for deleted node: ", node.ID.String(), err.Error())
|
|
|
+ }
|
|
|
+ if err := logic.DeleteNode(node, true); err != nil {
|
|
|
+ slog.Error("error deleting expired node", "nodeid", node.ID.String(), "error", err.Error())
|
|
|
+ }
|
|
|
+ go mq.PublishDeletedNodePeerUpdate(node)
|
|
|
}
|
|
|
}()
|
|
|
<-ctx.Done()
|