周期性任务不是在Django芹菜

问题描述:

工作这是我的周期任务:周期性任务不是在Django芹菜

from celery.task import PeriodicTask 
from celery.registry import tasks 
from datetime import timedelta 
from datetime import datetime 

class MyTask(PeriodicTask): 
    run_every = timedelta(minutes=1) 

    def run(self, **kwargs): 
     self.get_logger().info("Time now: " + datetime.now()) 
     print("Time now: " + datetime.now()) 

tasks.register(MyTask) 

我开始了我的Django服务器在蟒蛇manage.py runserver命令,也开始使用Python manage.py celeryd -B芹菜。

尽管根据代码,仍然没有打印在命令提示符上,但应该打印出时间。

任何想法这里怎么了?看起来很直截了当。

+1

你解决这个问题? –

你应该是这样的:

CELERYBEAT_SCHEDULE = { 
    'proc': { 
     "task": "tasks.processing", 
     "schedule": timedelta(seconds=60), 
     }, 
    } 

celeryconfig.py或Django的settings.py 查看完整的文件建立在这里http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html

检查您的系统时区,如果是一样的Django的时区。

对于Django:从设置文件更改它。

对于Linux操作系统:改变这样的:ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime