worker启动配置:
我们以 ceshi.py 为例进行说明。
celery -A ceshi beat
celery -A ceshi worker --loglevel=info
代码修改:
有参数版本
from celery import Celery
from celery.schedules import crontab
app = Celery('ceshi',broker='redis://127.0.0.1:6379',backend='redis://127.0.0.1:6379')
@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
sender.add_periodic_task(10.0, test.s('hello'), name='add every 10')
sender.add_periodic_task(minute='*/1',test.s('haha'))
@app.task
def test(arg):
print(arg)
无参数版本:
from celery import Celery
from celery.schedules import crontab
app = Celery('ceshi',broker='redis://127.0.0.1:6379',backend='redis://127.0.0.1:6379')
@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
#sender.add_periodic_task(10.0, test.s('hello'), name='add every 10')
sender.add_periodic_task(
crontab(minute='*/1'),
test,
)
@app.task
def test():
print('xxxxxxx')
#print(arg)
crontab使用:
# 每分钟执行一次
c1 = crontab()
# 每天凌晨十二点执行
c2 = crontab(minute=0, hour=0)
# 每十五分钟执行一次
crontab(minute='*/15')
# 每周日的每一分钟执行一次
crontab(minute='*',hour='*', day_of_week='sun')
# 每周三,五的三点,七点和二十二点没十分钟执行一次
crontab(minute='*/10',hour='3,17,22', day_of_week='thu,fri')









网友评论