Fix for missing periodic task name #445
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for issue #376. The message broker Rabbitmq isn't picking up the
periodic_task_name
when it's passed as a keyword arg totask.apply_async()
in django-celery-beat. If it's added to theheaders
inapply_async()
it becomes available in therequest
object in django-celery-results. For this change to work the following commit also needs to be merged, otherwise it won't get passed by django-celery-beat.If the task isn't triggered by django-celery-beat, but is done with code, such as using
delay()
orapply_async()
, it will be missing, unless it's added to the headers inapply_async()
. delay() doesn't support the extra options. E.g. When triggering a child task withdelay()
Periodic Task Name was missing in the Task Results.These changes haven't been tested with Redis or any other message broker, only rabbitmq.
CELERY_RESULT_EXTENDED
was set toTrue
in the settings.Tested with:
celery==5.4.0
django-celery-beat==2.7.0
django-celery-results==2.5.1
Django==4.2.16
rabbitmq==4.0.2