Просмотр исходного кода

TaskWrapper.execute now also respects acks_late

Ask Solem 15 лет назад
Родитель
Сommit
da824caadc
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      celery/worker/job.py

+ 5 - 2
celery/worker/job.py

@@ -294,10 +294,13 @@ class TaskWrapper(object):
         self._set_executed_bit()
 
         # acknowledge task as being processed.
-        self.on_ack()
+        if not self.task.acks_late:
+            self.acknowledge()
 
         tracer = WorkerTaskTrace(*self._get_tracer_args(loglevel, logfile))
-        return tracer.execute()
+        retval = tracer.execute()
+        self.acknowledge()
+        return retval
 
     def send_event(self, type, **fields):
         if self.eventer: