使用CELERY_ALWAYS_EAGER设置模拟芹菜限速?

时间:2016-01-19 05:58:15

标签: python unit-testing celery

进行单元测试时,我将CELERY_ALWAYS_EAGER设置为True,导致任务在本地执行而不是发送到队列。

但是,我需要在测试时对任务执行率进行评级,并且我想了解如何执行此操作。

想要限速的原因(理想情况下它反映了项目关于限制的芹菜配置)是因为我连接到限速服务并希望确保我的任务不超过所述限制有两个原因:

  • 作为速率限制的测试
  • 并且能够在其他单元测试中使用限速服务

如果第二点似乎是不好的做法,因为在运行测试时服务可能会停止,从而产生误导性结果,我也可以理解避免这种情况的建议。

1 个答案:

答案 0 :(得分:1)

我建议嘲笑外部服务。您可以在模拟代码中实现速率限制。

This似乎是这种方法的好教程。