在python中使用线程处理多个最终用户
我在django网站上有一个上传页面。最终用户从该页面上载文档。上载文档的后端处理可能需要几分钟。如何在后端处理多个最终用户的请求?我曾想过为每个最终用户的请求使用线程。然而,我发现在编写代码时很困难,如何在一些用户上传文档时创建一个新线程。如能提供示例或演示,将不胜感激。在python中使用线程处理多个最终用户,python,multithreading,Python,Multithreading,我在django网站上有一个上传页面。最终用户从该页面上载文档。上载文档的后端处理可能需要几分钟。如何在后端处理多个最终用户的请求?我曾想过为每个最终用户的请求使用线程。然而,我发现在编写代码时很困难,如何在一些用户上传文档时创建一个新线程。如能提供示例或演示,将不胜感激。 提前谢谢你 如果没有更多的信息,很难说具体是什么,但是线程听起来是一个合理的想法。要在python中创建线程,请执行以下操作: from threading import Thread class Worker(Thread
提前谢谢你 如果没有更多的信息,很难说具体是什么,但是线程听起来是一个合理的想法。要在python中创建线程,请执行以下操作:
from threading import Thread
class Worker(Thread):
def __init__(self):
Thread.__init__(self) #Runs the thread's constructor
#Method that is run when the new thread starts
def run(self):
#Whatever data processing you have to do can go here
while True:
print "Hello from Worker"
w = Worker()
w.start() #Starts a new thread which executes the object's run function
启动线程的另一种方法是向线程构造函数提供可调用性,如下所示:
from threading import Thread
processing_thread = Thread(target=your_heavy_lifting_function_name)
processing_thread.start()
谢谢你的建议。我是否必须使用回调处理程序,以便在任何用户上载文档时,该处理程序自动为该用户的请求生成一个新线程?如果您异步上载文件(例如,使用Ajax),并且在文件处理完成时,您可以使用回调在Javascript客户端执行某些操作(例如将用户重定向到新页面)。