在python中使用线程处理多个最终用户

在python中使用线程处理多个最终用户,python,multithreading,Python,Multithreading,我在django网站上有一个上传页面。最终用户从该页面上载文档。上载文档的后端处理可能需要几分钟。如何在后端处理多个最终用户的请求?我曾想过为每个最终用户的请求使用线程。然而,我发现在编写代码时很困难,如何在一些用户上传文档时创建一个新线程。如能提供示例或演示,将不胜感激。 提前谢谢你 如果没有更多的信息,很难说具体是什么,但是线程听起来是一个合理的想法。要在python中创建线程,请执行以下操作: from threading import Thread class Worker(Thread

我在django网站上有一个上传页面。最终用户从该页面上载文档。上载文档的后端处理可能需要几分钟。如何在后端处理多个最终用户的请求?我曾想过为每个最终用户的请求使用线程。然而,我发现在编写代码时很困难,如何在一些用户上传文档时创建一个新线程。如能提供示例或演示,将不胜感激。
提前谢谢你

如果没有更多的信息,很难说具体是什么,但是线程听起来是一个合理的想法。要在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客户端执行某些操作(例如将用户重定向到新页面)。