Django可以执行多线程吗?
我有一个问题,那就是Django可以执行多线程工作吗?
这是我要执行的操作:单击网页上的按钮,然后model.py中开始运行某些功能,例如,从Internet上爬网一些数据,完成后它将返回给用户结果。
我想知道我必须打开一个新线程来执行model.py中的功能,有人可以告诉我该怎么做吗?非常感谢你。
回答:
- 是的,它可以多线程,但是通常使用Celery来完成。你可以在celery-django教程中阅读有关操作方法的信息。
- 实际上,你很少要强迫用户等待网站。虽然总比超时有好处。
这是你正在描述的示例。
User sends requestDjango 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 requestDjango 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