芹菜击败调度程序未使用 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')
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')