微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

celery beat计划程序未使用crontab计划任务

如何解决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()

    }
}

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

enter image description here

解决方法

我认为让dor每小时运行一次,或者您只用一分钟:

crontab(minute='*/60')

或小时+分钟:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。