Use event-driven SIP reload and approved task bindings

This commit is contained in:
2026-10-01 13:52:48 +08:00
parent d0113bec47
commit 9fe539569e
15 changed files with 226 additions and 162 deletions
+2 -2
View File
@@ -138,9 +138,9 @@ func runDispatcher(ctx context.Context, mode string) (result error) {
DispatcherID: settings.DispatcherID, Store: database, Originator: originator, Publisher: broker, Now: time.Now,
},
Control: dispatcher.ControlController{
DispatcherID: settings.DispatcherID, Store: database, Client: reader, Agent: originator, VerifySIP: originator.VerifySIP, Now: time.Now,
DispatcherID: settings.DispatcherID, Store: database, Client: reader, Agent: originator, Now: time.Now,
},
PollInterval: time.Second, SIPInterval: time.Minute, Logger: slog.Default(),
PollInterval: time.Second, Logger: slog.Default(),
}
listener, err := net.Listen("tcp", settings.Listen)
if err != nil {
@@ -285,7 +285,7 @@ func TestDispatcherCommandStartsWithIsolatedMQHTTPAndAgent(t *testing.T) {
finished := make(chan error, 1)
go func() { finished <- command.Execute() }()
deadline := time.After(8 * time.Second)
for sipReads.Load() < 2 || discoveryReads.Load() < 2 || taskReads.Load() == 0 || providerReads.Load() == 0 || quotaReads.Load() == 0 {
for sipReads.Load() < 1 || discoveryReads.Load() < 2 || taskReads.Load() == 0 || providerReads.Load() == 0 || quotaReads.Load() == 0 {
select {
case err := <-finished:
cancel()