为什么芹菜没有执行定期任务?

时间:2017-05-26 08:55:41

标签: python django celery

如果我的问题太基础,请道歉,但不幸的是,我无法理解如何从官方文档/教程中正确使用周期性任务。

我想每300秒(5分钟)创建一个周期性任务执行功能,删除模型Trades中存在时间超过300秒的所有对象。

所以我只是在Project / Home目录下创建了一个名为tasks.py的文件(目录由models.py,urls.py,views.py等组成。)

我添加了这个脚本:

from celery.decorators import periodic_task
from Home.models import Trades
import datetime


@periodic_task(run_every=300) # Run every 5 minutes.
    def remove_old():
        for i in Trades.objects.all():
            time_now = timezone.now()
            time_generated = i.generation_date
            time_elapsed = time_now - time_generated
            if int(time_elapsed.total_seconds()) > 300: # If an object has existed longer than 5 minutes, It must be deleted.
                i.remove()

出于某种原因,5分钟后没有任何对象被删除,即使它们是昨天生成的,我也确定它们超过300秒。

问题是什么?我的代码有什么用吗?

0 个答案:

没有答案