есть ли какой-либо способ динамически добавлять задачу периода во время выполнения в celery?

#flask #celery

#flask #сельдерей

Вопрос:

У Сельдерея есть документация о периодической задаче, она показала пару примеров, как мы можем добавить периодическую задачу. Например:

 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')
  

Это установит периодическую задачу при инициализации. Тем не менее, я хотел бы добавить активность пользователя на основе периодической задачи, например, когда пользователь посещает страницу задачи в режиме Flask. У меня есть вид flask, подобный:

 @app.route('/task', methods=['GET'])
def payload_mobile_android():
    return {'task': 'mytask'}, 200
  

Заранее спасибо за помощь.

Комментарии:

1. Вы получили решение для этого? Если да, пожалуйста, поделитесь этим.

2. Да, вам нужно создать пользовательский schedular. Посмотрите это приложение для справки github.com/zmap/celerybeat-mongo