소스 검색

Also remove tref when time limit exceeded

Ask Solem 12 년 전
부모
커밋
cba04710f6
1개의 변경된 파일7개의 추가작업 그리고 0개의 파일을 삭제
  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