Celery Beat定时任务

Posted vincenshen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Celery Beat定时任务相关的知识,希望对你有一定的参考价值。

示例代码

创建schedule_tasks.py文件

from celery import Celery
from celery.schedules import crontab

app = Celery("SchedulerTasks", broker=pyamqp://admin:admin@172.16.37.200:5672//)


@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    # Calls test(‘hello‘) every 10 seconds.
    sender.add_periodic_task(10.0, test.s(hello), name=add every 10)

    # Calls test(‘world‘) every 30 seconds
    sender.add_periodic_task(30.0, test.s(world), expires=10)

    # Executes every Monday morning at 7:30 a.m.
    sender.add_periodic_task(
        crontab(hour=7, minute=30, day_of_week=1),
        test.s(Happy Mondays!),
    )


@app.task
def test(arg):
    print(arg)

 

启动Celery Beat-任务生产者

# celery -A schedule_tasks beat

 

启动Celery Worker-任务消费者

# celery -A schedule_tasks worker 

 

以上是关于Celery Beat定时任务的主要内容,如果未能解决你的问题,请参考以下文章

django+redis+celery(beat)发布定时任务

python测试开发django-160.Celery 定时任务 (beat)

基础入门_Python-模块和包.深入Celery之Beat触发定时/周期性任务?

分开使用 Celery beat and worker

Django Celery定时任务

CELERY 定时任务