【发布时间】:2016-01-22 10:04:30
【问题描述】:
我有一个向 django 服务器发送多个 ajax get 请求的网页。 服务器对其收到的每个请求进行一些互联网爬取,并在完成后向客户端返回响应。 似乎服务器一个接一个地回复请求。 我正在考虑将每个请求发送给 Celery worker 以使服务器的响应异步,但我不确定它是否能解决问题。
我还在 heroku 上使用 django,但不知道如何在 heroku 上将 celery 与 django 结合使用。
【问题讨论】:
-
您不需要 Celery,您只需要在 dyno 上运行多个 Django 进程...您使用的是什么 Web 服务器?提供有关您的服务配置的更多详细信息
-
我希望服务器表现得好像每个请求都有一个线程。我正在使用默认设置,如 heroku 上的 django 入门教程中所示
-
如果您在 Python 并发的上下文中谈论线程,那么您需要了解 GIL wiki.python.org/moin/GlobalInterpreterLock 的限制
-
感谢您的参考。您是否建议存在阻止服务器同时服务请求的固有瓶颈?必须有办法做到这一点。