gpt4 book ai didi

python - django-celeryPeriodicTask 使用 DatabaseScheduler 获取上次运行时间

转载 作者:行者123 更新时间:2023-11-30 23:37:21 28 4
gpt4 key购买 nike

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

version 2.4 的旧文档说有一个类PeriodicClassMeta其中包含任务的元数据,包括 last_run 。然而 django-celery 的文档不包含任何型号的使用信息或如何设置PeriodicTasks .

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

最佳答案

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

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

关于python - django-celeryPeriodicTask 使用 DatabaseScheduler 获取上次运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675660/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com