【发布时间】:2018-05-14 18:15:35
【问题描述】:
RQ provides a .work(burst=True) 方法适用于非常适合集成测试的工作人员,当您有将任务排入队列的代码然后希望该任务同步运行时。
我在Celery 上找不到任何类似的功能。请帮忙!
【问题讨论】:
标签: python task celery python-rq
RQ provides a .work(burst=True) 方法适用于非常适合集成测试的工作人员,当您有将任务排入队列的代码然后希望该任务同步运行时。
我在Celery 上找不到任何类似的功能。请帮忙!
【问题讨论】:
标签: python task celery python-rq
celery 中没有burst mode,
但是有一个CELERY_ALWAYS_EAGER 选项用于测试:
CELERY_ALWAYS_EAGER
如果为真,所有任务都会被执行 本地阻塞直到任务返回。 apply_async() 和 Task.delay() 将返回一个 EagerResult 实例,它模拟 AsyncResult 的 API 和行为,除了结果已经是 评估。
也就是说,任务将在本地执行,而不是发送到 排队。
http://docs.celeryproject.org/en/3.1/configuration.html#celery-always-eager
【讨论】: