【问题标题】:How to run tasks of Django Periodic Task Object [django-celery-beat]如何运行 Django Periodic Task Object [django-celery-beat] 的任务
【发布时间】:2020-04-29 06:22:03
【问题描述】:

Django Celery Beat 在管理面板中有一个选项,您可以通过选择每个单独的 PeriodicTask 模型对象直接运行任务。

https://github.com/celery/django-celery-beat

from django_celery_beat.models import PeriodicTask

get_task = PeriodicTask.objects.get(id=1)
  • 不同的对象注册了不同的任务。 如何通过从 PeriodicTask 模型对象中获取值来执行 celery 任务?

【问题讨论】:

标签: django django-models celery django-celery celery-task


【解决方案1】:
from celery.execute import send_task   
from django_celery_beat.models import PeriodicTask
import json

get_task = PeriodicTask.objects.get(id=1)
get_task_registed_taskname = get_task.task
get_task_kwargs = json.loads(get_task.kwargs)

send_task(get_task_registed_taskname,[],get_task_kwargs)

【讨论】: