| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 | 
							- .. _signals:
 
- ========================================
 
- Signals - celery.signals
 
- ========================================
 
- .. contents::
 
-     :local:
 
- .. currentmodule:: celery.signals
 
- .. _signal-basics:
 
- Basics
 
- ======
 
- Several kinds of events trigger signals, you can connect to these signals
 
- to perform actions as they trigger.
 
- Example connecting to the :data:`task_sent` signal:
 
- .. code-block:: python
 
-     from celery.signals import task_sent
 
-     def task_sent_handler(sender=None, task_id=None, task=None, args=None,
 
-                           kwargs=None, **kwds):
 
-         print("Got signal task_sent for task id %s" % (task_id, ))
 
-     task_sent.connect(task_sent_handler)
 
- Some signals also have a sender which you can filter by. For example the
 
- :data:`task_sent` signal uses the task name as a sender, so you can
 
- connect your handler to be called only when tasks with name `"tasks.add"`
 
- has been sent by providing the `sender` argument to
 
- :class:`~celery.utils.dispatch.signal.Signal.connect`:
 
- .. code-block:: python
 
-     task_sent.connect(task_sent_handler, sender="tasks.add")
 
- .. _signal-ref:
 
- Signals
 
- =======
 
- Task Signals
 
- ------------
 
- .. data:: task_sent
 
-     Dispatched when a task has been sent to the broker.
 
-     Note that this is executed in the client process, the one sending
 
-     the task, not in the worker.
 
-     Sender is the name of the task being sent.
 
-     Provides arguments:
 
-     * task_id
 
-         Id of the task to be executed.
 
-     * task
 
-         The task being executed.
 
-     * args
 
-         the tasks positional arguments.
 
-     * kwargs
 
-         The tasks keyword arguments.
 
-     * eta
 
-         The time to execute the task.
 
-     * taskset
 
-         Id of the taskset this task is part of (if any).
 
- .. data:: task_prerun
 
-     Dispatched before a task is executed.
 
-     Sender is the task class being executed.
 
-     Provides arguments:
 
-     * task_id
 
-         Id of the task to be executed.
 
-     * task
 
-         The task being executed.
 
-     * args
 
-         the tasks positional arguments.
 
-     * kwargs
 
-         The tasks keyword arguments.
 
- .. data:: task_postrun
 
-     Dispatched after a task has been executed.
 
-     Sender is the task class executed.
 
-     Provides arguments:
 
-     * task_id
 
-         Id of the task to be executed.
 
-     * task
 
-         The task being executed.
 
-     * args
 
-         The tasks positional arguments.
 
-     * kwargs
 
-         The tasks keyword arguments.
 
-     * retval
 
-         The return value of the task.
 
- Worker Signals
 
- --------------
 
- .. data:: worker_init
 
-     Dispatched before the worker is started.
 
- .. data:: worker_ready
 
-     Dispatched when the worker is ready to accept work.
 
- .. data:: worker_process_init
 
-     Dispatched by each new pool worker process when it starts.
 
- .. data:: worker_shutdown
 
-     Dispatched when the worker is about to shut down.
 
 
  |