周期性任务不是在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芹菜。
尽管根据代码,仍然没有打印在命令提示符上,但应该打印出时间。
任何想法这里怎么了?看起来很直截了当。
答
你应该是这样的:
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
你解决这个问题? –