Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django芹菜PeriodictTask使用DatabaseScheduler获取上次运行时_Python_Django_Celery - Fatal编程技术网

Python django芹菜PeriodictTask使用DatabaseScheduler获取上次运行时

Python django芹菜PeriodictTask使用DatabaseScheduler获取上次运行时,python,django,celery,Python,Django,Celery,使用django芹菜,通过后端django芹菜.schedulers.DatabaseScheduler,我需要访问芹菜.task.PeriodicTask 旧文档表示有一个类PeriodicClassMeta,它包含任务的元数据,包括last\u run。但是,django芹菜的文档中没有任何型号的使用信息,也没有如何设置PeriodicTasks 因此,我的问题是,如何在django芹菜中设置PeriodicTasks,使用DatabaseScheduler后端并访问与上次运行相关的元数据?

使用django芹菜,通过后端
django芹菜.schedulers.DatabaseScheduler
,我需要访问
芹菜.task.PeriodicTask

旧文档表示有一个类
PeriodicClassMeta
,它包含任务的元数据,包括
last\u run
。但是,
django芹菜
的文档中没有任何型号的使用信息,也没有如何设置
PeriodicTasks


因此,我的问题是,如何在django芹菜中设置
PeriodicTasks
,使用
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