Explorar o código

Fixes worker hanging when hard time limit exceeded

Ask Solem %!s(int64=13) %!d(string=hai) anos
pai
achega
0b943b80d3
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  1. 3 2
      celery/concurrency/processes/pool.py

+ 3 - 2
celery/concurrency/processes/pool.py

@@ -591,10 +591,11 @@ class Pool(object):
             for job in self._cache.values():
                 for worker_pid in job.worker_pids():
                     if worker_pid in cleaned and not job.ready():
-                        if self._putlock is not None:
-                            self._putlock.release()
                         job._worker_lost = time.time()
                         continue
+            if self._putlock is not None:
+                for worker in cleaned:
+                    self._putlock.release()
             return True
         return False