Django可以执行多线程吗?

我有一个问题,那就是Django可以执行多线程工作吗?

这是我要执行的操作:单击网页上的按钮,然后model.py中开始运行某些功能,例如,从Internet上爬网一些数据,完成后它将返回给用户结果。

我想知道我必须打开一个新线程来执行model.py中的功能,有人可以告诉我该怎么做吗?非常感谢你。

回答:

  1. 是的,它可以多线程,但是通常使用Celery来完成。你可以在celery-django教程中阅读有关操作方法的信息。
  2. 实际上,你很少要强迫用户等待网站。虽然总比超时有好处。

    这是你正在描述的示例。

User sends request

Django receives => spawns a thread to do something else.

main thread finishes && other thread finishes

... (later upon completion of both tasks)

response is sent to user as a package.

更好的方法:

User sends request

Django receives => lets Celery know "hey! do this!"

main thread finishes

response is sent to user

...(later)

user receives balance of transaction

以上是 Django可以执行多线程吗? 的全部内容, 来源链接: utcz.com/qa/435012.html

回到顶部