Jelajahi Sumber

Be backward compatible if eta is already a datetime object (not iso 8601)

Ask Solem 15 tahun lalu
induk
melakukan
1e48f161b7
1 mengubah file dengan 3 tambahan dan 1 penghapusan
  1. 3 1
      celery/worker/__init__.py

+ 3 - 1
celery/worker/__init__.py

@@ -7,6 +7,7 @@ import traceback
 import logging
 import socket
 from Queue import Queue
+from datetime import datetime
 
 from dateutil.parser import parse as parse_iso8601
 from carrot.connection import DjangoBrokerConnection, AMQPConnectionException
@@ -107,7 +108,8 @@ class CarrotListener(object):
 
         eta = message_data.get("eta")
         if eta:
-            eta = parse_iso8601(eta)
+            if not isinstance(eta, datetime):
+                eta = parse_iso8601(eta)
             self.prefetch_count.increment()
             self.logger.info("Got task from broker: %s[%s] eta:[%s]" % (
                     task.task_name, task.task_id, eta))