[英]Periodic tasks not working in Django Celery
這是我的周期性任務:
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)
我在python manage.py runserver啟動了我的django服務器,並用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.