فهرست منبع

New signal: celery.signals.worker_process_init: Sent inside the pool worker process at init. Thanks to jonozzz. Closes #109

Ask Solem 15 سال پیش
والد
کامیت
d073ff0e9c
2فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 1 0
      celery/signals.py
  2. 2 0
      celery/worker/__init__.py

+ 1 - 0
celery/signals.py

@@ -11,5 +11,6 @@ task_postrun = Signal(providing_args=["task_id", "task",
                                       "args", "kwargs", "retval"])
 
 worker_init = Signal(providing_args=[])
+worker_process_init = Signal(providing_args=[])
 worker_ready = Signal(providing_args=[])
 worker_shutdown = Signal(providing_args=[])

+ 2 - 0
celery/worker/__init__.py

@@ -35,6 +35,8 @@ def process_initializer():
     from celery.loaders import current_loader
     current_loader().init_worker()
 
+    signals.worker_process_init.send(sender=None)
+
 
 class WorkController(object):
     """Executes tasks waiting in the task queue.