芹菜击败调度程序未使用 crontab 按预期安排任务

celery beat scheduler not scheduling tasks as expected using crontab

Celery beat 没有按预期使用 crontab 安排任务。它在随机时间安排。有时它每隔一分钟安排一次。有时每两分钟一次,等等。 配置时间 "schedule": crontab(hour='*/1') 与任务发送给工作人员的时间之间没有关系!

不知道这里出了什么问题。

这是我的 celery_test.py :

from kombu import Queue, Exchange
from celery import Celery, shared_task, group, chord
from celery.schedules import crontab

app = Celery('celery_demo',
             broker='amqp://abcduser:abcdpassword@localhost/abcd_vhost',
             backend='rpc://',
             include=['celery_demo.tasks'])

app.conf.beat_schedule = {
    "trigger-call_publisher": {
        "task": "celery_demo.tasks.call_publisher",
        "schedule": crontab(hour='*/1')

下面是我的 tasks.py :

import sys

sys.path.append("..")

from celery_demo.celery_test import app

@app.task
def call_publisher():
    print("Say Hello")

if __name__ == '__main__':
    call_publisher.delay()

    }
}

下面是一个这样的输出,其中每分钟发送一次任务:

我认为 dor 使它 运行 每小时你要么使用分钟:

crontab(minute='*/60')

或小时+分钟:

crontab(minute=0, hour='*/1')