celery: 定时任务

一,mytask.py代码:

from celery import Celery
from datetime import timedelta

celeryApp = Celery('celeryapp', broker='redis://localhost:6379/0', backend='redis://localhost:6379/1')

celeryApp.conf.beat_schedule = {
    'add-every-30-seconds': {
        'task': 'mytask.my_task1',
        'schedule': timedelta(seconds=30), # 每30秒执行一次
        'args': (16, 16),
    },
}

# 设置周期性任务
@celeryApp.task
def my_task1(a, b):
    print("my_task1任务正在执行....")
    return a + b

if __name__=="__main__":
    celeryApp.start()

 

二,测试 效果 :

运行:

$ celery -A mytask worker --loglevel=info --beat

效果:

[2026-01-25 13:04:25,078: INFO/Beat] Scheduler: Sending due task add-every-30-seconds (mytask.my_task1)
[2026-01-25 13:04:25,081: INFO/MainProcess] Task mytask.my_task1[4cac5697-5486-4076-9789-1eb7835e23cc] received
[2026-01-25 13:04:25,082: WARNING/ForkPoolWorker-2] my_task1任务正在执行....
[2026-01-25 13:04:25,083: INFO/ForkPoolWorker-2] Task mytask.my_task1[4cac5697-5486-4076-9789-1eb7835e23cc] succeeded in 0.0011222869998164242s: 32

 

posted @ 2026-01-25 13:04  刘宏缔的架构森林  阅读(1)  评论(0)    收藏  举报