]> git.giacomolli.uk - onechat/blobdiff - daemon.go
Keep each schedule with its owning agent
[onechat] / daemon.go
index 3a54b1ae94374c7d53c3938f1eeff0ae8fcb9768..958d6f7bd2283fe8b2796c14ae345e7b5f14e604 100644 (file)
--- a/daemon.go
+++ b/daemon.go
@@ -364,8 +364,15 @@ func daemonServe(ctx context.Context, listener net.Listener, bot *TelegramBot, w
                loops = append(loops, loop)
        }
 
+       messages, err := openDaemonMessages(loops)
+       if err != nil {
+               return errors.Join(fmt.Errorf("open agent messages: %w", err), listener.Close())
+       }
+
        hub.snapshot = func(ctx context.Context, snapshot func() error) error {
-               return daemonSnapshot(ctx, loops, snapshot)
+               return messages.Snapshot(func() error {
+                       return daemonSnapshot(ctx, loops, snapshot)
+               })
        }
 
        var workers sync.WaitGroup