首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DatabaseScheduler获取上次运行时的django-celery PeriodicTask

使用DatabaseScheduler获取上次运行时的django-celery PeriodicTask
EN

Stack Overflow用户
提问于 2013-03-28 14:36:14
回答 1查看 839关注 0票数 1

通过使用django-celery和后端djcelery.schedulers.DatabaseScheduler,我需要访问celery.task.PeriodicTask的最后运行时间

version 2.4的旧文档说有一个类PeriodicClassMeta,它包含任务的元数据,包括last_run。然而,django-celery的文档并没有包含任何模型的使用信息或者如何设置PeriodicTasks

所以,我的问题是,如何使用DatabaseScheduler后端在django-celery中设置PeriodicTasks,并访问与上次运行相关的元数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-28 20:16:33

假设此任务仅作为周期性任务运行,并且任务运行时间比周期性任务的间隔短。

代码语言:javascript
复制
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].meta
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15675660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档