diff --git a/coderd/database/pubsub_memory.go b/coderd/database/pubsub_memory.go index de5a940414d6c..4306ec10fb000 100644 --- a/coderd/database/pubsub_memory.go +++ b/coderd/database/pubsub_memory.go @@ -46,9 +46,16 @@ func (m *memoryPubsub) Publish(event string, message []byte) error { if !ok { return nil } + var wg sync.WaitGroup for _, listener := range listeners { - go listener(context.Background(), message) + wg.Add(1) + listener := listener + go func() { + defer wg.Done() + listener(context.Background(), message) + }() } + wg.Wait() return nil }