Quellcode durchsuchen

Also remove tref when time limit exceeded

Ask Solem vor 12 Jahren
Ursprung
Commit
cba04710f6
1 geänderte Dateien mit 7 neuen und 0 gelöschten Zeilen
  1. 7 0
      celery/concurrency/processes.py

+ 7 - 0
celery/concurrency/processes.py

@@ -531,6 +531,10 @@ class TaskPool(BasePool):
             pass  # job ready
         else:
             self.on_soft_timeout(result)
+        finally:
+            if not hard:
+                # remove tref
+                self._pool.on_timeout_cancel(job)
 
     def _on_hard_timeout(self, job):
         try:
@@ -539,6 +543,9 @@ class TaskPool(BasePool):
             pass  # job ready
         else:
             self.on_hard_timeout(result)
+        finally:
+            # remove tref
+            self._pool.on_timeout_cancel(job)
 
     def _create_timelimit_handlers(self, hub, now=time):
         apply_after = hub.timer.apply_after