In celery, what is the appropriate way to pass contextual metadata from sender process to worker when a task is enqueued?
问题 When any celery task is enqueued I want to add contextual metadata the worker will be able to use. The following code example works but I would like to have an appropriate celery-style solution. from celery.signals import before_task_publish, task_prerun @before_task_publish.connect def receiver_before_task_publish(sender=None, headers=None, body=None, **kwargs): task_kwags = body[1] metadata = {"foo": "bar"} task_kwags['__metadata__'] = metadata @task_prerun.connect def receiver_task_pre_run