LINUX.ORG.RU

periodic task

 , ,


0

2
@task()
def aaa():
    logger.info("some")

Как мне сделать apply_async() и чтобы эта таска выполнялась периодически? Не с помощью декоратора @periodic_task, а именно в коде указать интервал, между запусками

в доке есть вот такой вот пример

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)

Но мне надо не при старте, а просто в коде указать



Последнее исправление: Xwo (всего исправлений: 4)

Я так понимаю, можно просто написать app.add_periodic_task(…) в любой момент времени.

monk ★★★★★
()
Ответ на: комментарий от MaxPower

Млеа, setup_periodic_tasks() - это единоразовая конфигурация. Мне надо динамически создавать периодик таски.

Xwo
() автор топика
Ответ на: комментарий от Xwo

Мне надо динамически создавать периодик таски.

Так пиши app.add_periodic_task(…). Должно создать.

monk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.