Преглед изворни кода

send_error_email: Make it possible to set conf values by runtime.

Ask Solem пре 15 година
родитељ
комит
0e5008b605
2 измењених фајлова са 5 додато и 6 уклоњено
  1. 0 1
      celery/tests/test_result.py
  2. 5 5
      celery/worker/job.py

+ 0 - 1
celery/tests/test_result.py

@@ -108,7 +108,6 @@ class TestAsyncResult(unittest.TestCase):
         self.assertRaises(KeyError, nok_res.get)
         self.assertIsInstance(nok2_res.result, KeyError)
 
-
     def test_get_timeout(self):
         res = AsyncResult(self.task4["id"]) # has RETRY status
         self.assertRaises(TimeoutError, res.get, timeout=0.1)

+ 5 - 5
celery/worker/job.py

@@ -414,14 +414,14 @@ class TaskRequest(object):
         self.logger.error(self.error_msg.strip() % context)
 
         task_obj = tasks.get(self.task_name, object)
-        self.send_error_email(task_obj, context, exc_info.exception)
+        self.send_error_email(task_obj, context, exc_info.exception,
+                              whitelist=conf.CELERY_TASK_ERROR_WHITELIST,
+                              enabled=conf.CELERY_SEND_TASK_ERROR_EMAILS)
 
     def send_error_email(self, task, context, exc,
-            whitelist=conf.CELERY_TASK_ERROR_WHITELIST,
-            enabled=conf.CELERY_SEND_TASK_ERROR_EMAILS,
-            fail_silently=True):
+            whitelist=None, enabled=False, fail_silently=True):
         if enabled and not task.disable_error_emails:
-            if whitelist is not None:
+            if whitelist:
                 if not isinstance(exc, tuple(whitelist)):
                     return
             subject = self.email_subject.strip() % context