我已经集成了django-celery-beat,它工作正常,这意味着我可以在一段时间后注册和执行任务。但我的客户想要的是将 Web 请求排队。这意味着,例如,如果两个用户访问网站并且都想生成报告,那么第二个用户请求将进入队列并等待第一个请求的完成。
我不确定这是否适用于芹菜。我试图找到解决方案,但没有成功。谁能帮我解决这个问题。我只需要想法或一些示例脚本。谢谢
这在芹菜上是很有可能的。 您可以将某些报告强制到特定的路由交换,然后使用-Q
标志将该路由交换/芹菜队列映射到特定的芹菜工作线程,然后将工作线程设置为一次仅使用一个任务。 这需要一点工作和一点配置,但它是可以做到的。 确保使用正确的设置一次保留一个任务。