Есть ли функциональность 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, за исключением того, что результат уже оценен.
То есть задачи будут выполняться локально, а не отправляться в очередь.