如何解决celery beat计划程序未使用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')
以下是我的task.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')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。