diff --git a/worker/types/worker.go b/worker/types/worker.go index ba396aa..5a964f2 100644 --- a/worker/types/worker.go +++ b/worker/types/worker.go @@ -64,7 +64,10 @@ func (worker *Worker) PostMessage(msg WorkerMessage, } else { logging.Debugf("PostMessage %T", msg) } - worker.Messages <- msg + // This one needs to be in a separate goroutine to prevent deadlocks + go func() { + worker.Messages <- msg + }() if cb != nil { worker.messageCallbacks[msg.getId()] = cb