RQ.work(burst=True)
为其工作人员提供了一种非常适合集成测试的方法,当您有将任务排入队列的代码然后希望该任务同步运行时。
我在Celery上找不到任何类似的功能。请帮忙!
没有burst mode
in celery
,但有一个CELERY_ALWAYS_EAGER
测试选项:
CELERY_ALWAYS_EAGER
如果为 True,则所有任务将通过阻塞在本地执行,直到任务返回。apply_async() 和 Task.delay() 将返回一个 EagerResult 实例,该实例模拟 AsyncResult 的 API 和行为,但结果已被评估。
也就是说,任务将在本地执行,而不是发送到队列中。
http://docs.celeryproject.org/en/3.1/configuration.html#celery-always-eager