Есть ли функциональность Celery, аналогичная функциональности RQ?

RQ обеспечивает.work(burst=True) метод для его работников, которые хорошо подходят для интеграционных тестов, когда у вас есть код, который ставит в очередь задачу, а затем хочет, чтобы эта задача выполнялась синхронно.

Я не могу найти какую-либо функциональность на Celery, которая работает так. Пожалуйста помоги!

1 ответ

Здесь нет burst mode в celery, но есть CELERY_ALWAYS_EAGER вариант для тестирования:

CELERY_ALWAYS_EAGER

Если это True, все задачи будут выполняться локально путем блокировки до тех пор, пока задача не вернется. apply_async() и Task.delay() вернут экземпляр EagerResult, который эмулирует API и поведение AsyncResult, за исключением того, что результат уже оценен.

То есть задачи будут выполняться локально, а не отправляться в очередь.

http://docs.celeryproject.org/en/3.1/configuration.html

Другие вопросы по тегам