Сельдерей должен выполнить задачу по вызову, даже если очередь / параллелизм заняты - PullRequest
0 голосов
/ 26 января 2020
  • У меня есть приложение для сельдерея в Django, где я определял все периодически мудрые задачи с указанными c интервалами.

  • Я инициировал работника сельдерея с 5 concurrency

celery -A appname worker --loglevel=info -B -c 5

  • теперь каждая определенная задача будет периодически выполняться с интервалом и попадать в очередь, если они больше присутствует более 5 активных задач.

  • Теперь я хочу определить задачу так, чтобы она выполнялась при каждом вызове. Независимо от очереди или чего-либо еще.

send_task('task_name',[],get_task_kwargs)
  • Всякий раз, когда я звонил send_task, он должен выполняться немедленно, без очереди в параллельном режиме рабочего из сельдерея.

1 Ответ

0 голосов
/ 27 января 2020

Невозможно гарантировать, что ваша задача будет выполняться при ее вызове. Лучшее, что вы можете сделать, это назначить эту конкретную задачу своей собственной очереди. Таким образом, он всегда начнет выполняться, если перед ним нет другой задачи того же типа.

...