簡體   English   中英

定期任務在Django Celery中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM