Explorar o código

AMQP result backend: Call on_interval every second (always) to propagate parent errors

Ask Solem %!s(int64=10) %!d(string=hai) anos
pai
achega
4ae2f1d631
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      celery/backends/amqp.py

+ 4 - 1
celery/backends/amqp.py

@@ -213,7 +213,10 @@ class AMQPBackend(BaseBackend):
             # Total time spent may exceed a single call to wait()
             if timeout and now() - time_start >= timeout:
                 raise socket.timeout()
-            wait(timeout=timeout)
+            try:
+                wait(timeout=1)
+            except socket.timeout:
+                pass
             if on_interval:
                 on_interval()
             if results:  # got event on the wanted channel.