我集成了django-celery-beat,它工作正常,这意味着我可以在一段时间后注册并执行任务。但是我的客户想要的是将Web请求排队。这意味着,例如,如果有两个用户访问该网站,并且两个人都想生成报告,则第二个用户请求将进入队列并等待第一个请求的完成。
我不确定芹菜是否有可能。我试图找到解决方案,但没有成功。谁能帮我这个忙。我只需要想法或一些示例脚本。谢谢
答案 0 :(得分:0)
这对于芹菜很有可能。您可以将某些报告强制发送到特定的routing exchange,然后使用-Q
标志将该路由交换/芹菜队列映射到特定的芹菜工作者,然后将其设置为一次仅消耗一项任务。这需要一些工作和一些配置,但是可以做到。
确保使用correct settings for reserving one task at a time。