通过使用django-celery和后端djcelery.schedulers.DatabaseScheduler,我需要访问celery.task.PeriodicTask的最后运行时间
version 2.4的旧文档说有一个类PeriodicClassMeta,它包含任务的元数据,包括last_run。然而,django-celery的文档并没有包含任何模型的使用信息或者如何设置PeriodicTasks。
所以,我的问题是,如何使用DatabaseScheduler后端在django-celery中设置PeriodicTasks,并访问与上次运行相关的元数据?
发布于 2013-03-28 20:16:33
假设此任务仅作为周期性任务运行,并且任务运行时间比周期性任务的间隔短。
from djcelery.models import PeriodicTask, TaskMeta
last_run = PeriodicTask.objects.only('last_run_at')\
.get(task=task_name).last_run_at
task_meta = TaskMeta.objects.filter(task_id=task_name, date_done__gte=last_run)\
.order_by('date_done').only('meta')[:1][0].metahttps://stackoverflow.com/questions/15675660
复制相似问题