RQ provides a .work(burst=True)
方法,适用于非常适合集成测试的工作者,当您拥有排队任务的代码,然后希望该任务同步运行时。
我在Celery找不到任何类似的功能。请帮忙!
答案 0 :(得分:0)
burst mode
中没有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