Преглед на файлове

PeriodicWorkController now emits a debug log message for which periodic tasks
was launched.

Ask Solem преди 15 години
родител
ревизия
55226a5b85
променени са 2 файла, в които са добавени 16 реда и са изтрити 3 реда
  1. 10 2
      celery/backends/database.py
  2. 6 1
      celery/worker/controllers.py

+ 10 - 2
celery/backends/database.py

@@ -13,10 +13,18 @@ class Backend(BaseBackend):
         self._cache = {}
 
     def run_periodic_tasks(self):
-        """Run all waiting periodic tasks."""
+        """Run all waiting periodic tasks.
+
+        :returns: a list of ``(task, task_id)`` tuples containing
+            the task class and id for the resulting tasks applied.
+
+        """
         waiting_tasks = PeriodicTaskMeta.objects.get_waiting_tasks()
+        task_id_tuples = []
         for waiting_task in waiting_tasks:
-            waiting_task.delay()
+            task_id = waiting_task.delay()
+            task_id_tuples.append((waiting_task, task_id))
+        return task_id_tuples
 
     def store_result(self, task_id, result, status):
         """Mark task as done (executed)."""

+ 6 - 1
celery/worker/controllers.py

@@ -111,7 +111,12 @@ class PeriodicWorkController(InfinityThread):
         time.sleep(1)
 
     def run_periodic_tasks(self):
-        default_periodic_status_backend.run_periodic_tasks()
+        logger = get_logger()
+        applied = default_periodic_status_backend.run_periodic_tasks()
+        for task, task_id in applied:
+            logger.debug(
+                "PeriodicWorkController: Periodic task %s applied (%s)" % (
+                    task.name, task_id))
 
     def process_hold_queue(self):
         """Finds paused tasks that are ready for execution and move