【发布时间】:2026-02-12 03:20:06
【问题描述】:
在我的 django 应用程序的一个视图中,我需要执行一个相对冗长的网络 IO 操作。问题是其他请求必须等待这个请求完成,即使它们与它无关。 我做了一些研究并偶然发现了 Celery,但据我所知,它用于执行独立于请求的后台任务。 (所以我不能使用任务的结果来响应请求)
有没有办法在 django 中异步处理视图,以便在网络请求待处理时可以处理其他请求?
编辑:我忘了提到的是我的应用程序是一个使用 django rest 框架的 Web 服务。所以视图的结果是一个 json 响应,而不是我以后可以使用 AJAX 修改的页面。
【问题讨论】:
-
@Louis 抱歉,我不够清楚。参考编辑。
-
解决方法还是一样。
-
请详细说明您的堆栈...您使用的是 uwsgi、gunicorn 还是只是
manage.py runserver? -
@TimTisdall 相对较长,我的意思是大约 2 秒。虽然不多,但是当每个请求都阻塞了这么长的时间时,它会很快加起来。感谢您的其他评论,我一定会检查 uwsgi。