现在我有60%的把握是你的任务太长,服务器无法在默认的web请求返回时间内响应。70%/30%的方法适用于网络速度非常快的本地计算机。在云平台上,延迟是个问题,有时它会影响您的程序。在那之前,如果 celery worker 失败,它将自动创建另一个工人来完成未完成的工作,因为 gunicon 和 celery ,导致连接增加。
celery worker
gunicon
celery
所以解决办法是:
选项1使任务更快完成
选项2首先返回一个确认,在后台计算,然后进行另一个api调用以发回结果