[英]Django Celery Periodic task is not running on mentioned crontab
我正在使用以下軟件包。
celery==5.1.2
Django==3.1
我有 2 個定期 celery 任務,其中我希望第一個任務每 15 分鍾運行一次,第二個任務每 20 分鍾運行一次。 但問題是第一個任務按時運行,而第二個任務沒有運行。
雖然我在控制台上收到一條消息:
Scheduler: Sending due task <task_name> (<task_name>)
但是該函數內的日志沒有出現在控制台上。
請找到以下文件,
芹菜.py
from celery import Celery, Task
app = Celery('settings')
...
class PeriodicTask(Task):
@classmethod
def on_bound(cls, app):
app.conf.beat_schedule[cls.name] = {
"schedule": cls.run_every,
"task": cls.name,
"args": cls.args if hasattr(cls, "args") else (),
"kwargs": cls.kwargs if hasattr(cls, "kwargs") else {},
"options": cls.options if hasattr(cls, "options") else {}
}
任務.py
from celery.schedules import crontab
from settings.celery import app, PeriodicTask
...
@app.task(
base=PeriodicTask,
run_every=crontab(minute='*/15'),
name='task1',
options={'queue': 'queue_name'}
)
def task1():
logger.info("task1 called")
@app.task(
base=PeriodicTask,
run_every=crontab(minute='*/20'),
name='task2'
)
def task2():
logger.info("task2 called")
請幫我在這里找到錯誤。 謝謝!
您是否啟用了 celery 的登錄功能。 文檔說,要進行日志記錄,您必須啟用日志記錄。 這是文檔celery 文檔的鏈接,請參閱日志記錄部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.