python – 在django视图中执行阻塞请求

在我的 django应用程序的一个视图中,我需要执行相对冗长的网络IO操作.问题是其他请求必须等待此请求完成,即使它们与它无关.

我做了一些研究并偶然发现了Celery,但据我了解,它用于执行独立于请求的后台任务. (所以我不能使用任务的结果来响应请求)

有没有办法在django中异步处理视图,所以当网络请求挂起时,可以处理其他请求?

编辑:我忘了提到的是我的应用程序是使用django rest框架的Web服务.所以视图的结果是json响应,而不是我以后可以使用AJAX修改的页面.

最佳答案 这里通常的解决方案是将任务卸载到芹菜,并在您的视图中返回“请稍候”响应.如果需要,您可以使用Ajax调用定期命中一个视图,该视图将报告响应是否准备就绪,并在何时重定向.

点赞