瀏覽代碼

Beat: Log tracebacks if the message can't be sent

Ask Solem 14 年之前
父節點
當前提交
fad2d04f79
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      celery/beat.py

+ 4 - 2
celery/beat.py

@@ -6,6 +6,7 @@ Periodic Task Scheduler
 import time
 import time
 import shelve
 import shelve
 import threading
 import threading
+import traceback
 import multiprocessing
 import multiprocessing
 from datetime import datetime
 from datetime import datetime
 from UserDict import UserDict
 from UserDict import UserDict
@@ -150,8 +151,9 @@ class Scheduler(UserDict):
             self.logger.debug("Scheduler: Sending due task %s" % entry.task)
             self.logger.debug("Scheduler: Sending due task %s" % entry.task)
             try:
             try:
                 result = self.apply_async(entry, publisher=publisher)
                 result = self.apply_async(entry, publisher=publisher)
-            except SchedulingError, exc:
-                self.logger.error("Scheduler: %s" % exc)
+            except Exception, exc:
+                self.logger.error("Message Error:\n%s" % (exc,
+                    traceback.format_stack()))
             else:
             else:
                 self.logger.debug("%s sent. id->%s" % (entry.task,
                 self.logger.debug("%s sent. id->%s" % (entry.task,
                                                        result.task_id))
                                                        result.task_id))