Fix for missing periodic task name
Fix for issue #376. The message broker Rabbitmq isn't picking up the periodic_task_name when it's passed as a keyword arg to task.apply_async() in django-celery-beat. If it's added to the headers in apply_async() it becomes available in the request 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() or apply_async(), it will be missing, unless it's added to the headers in apply_async(). delay() doesn't support the extra options. E.g. When triggering a child task with delay() 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 to True 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