芹菜,动态添加周期性任务



>https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#entries 提到了add_periodic_task

我不明白什么是test.s and test.s('hello'),而不仅仅是test('hello')

from celery import Celery
from celery.schedules import crontab
app = Celery()
@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)

sender会是什么?我想在@app.on_after_configure.connect之外打电话给add_periodic_task

.s()

是任务签名 - 将其视为运行任务的占位符 -test('hello')会立即调用您的任务,当您只想指示 Celery 定期调用任务时,这不是您想要的setup_periodic_tasks.

相关内容

  • 没有找到相关文章

最新更新