Python 在Django中启动后台任务的简单方法
我有一个Django网站,其中一个页面上有一个按钮(或链接),单击该按钮将启动一个运行时间较长的任务。显然,我希望将此任务作为后台任务启动,并立即将结果返回给用户。我想用一种简单的方法来实现它,而不需要我安装和学习一个全新的消息传递体系结构,比如芹菜。我不想用芹菜!我只想使用一个简单的方法,我可以设置并在接下来的半小时左右开始运行。在Django中,不需要添加(另一个)第三方软件包,难道没有一种简单的方法可以做到这一点吗 只要用一根线就行了Python 在Django中启动后台任务的简单方法,python,django,asynchronous,background-process,deferred,Python,Django,Asynchronous,Background Process,Deferred,我有一个Django网站,其中一个页面上有一个按钮(或链接),单击该按钮将启动一个运行时间较长的任务。显然,我希望将此任务作为后台任务启动,并立即将结果返回给用户。我想用一种简单的方法来实现它,而不需要我安装和学习一个全新的消息传递体系结构,比如芹菜。我不想用芹菜!我只想使用一个简单的方法,我可以设置并在接下来的半小时左右开始运行。在Django中,不需要添加(另一个)第三方软件包,难道没有一种简单的方法可以做到这一点吗 只要用一根线就行了 import threading t = threa
import threading
t = threading.Thread(target=long_process,
args=args,
kwargs=kwargs)
t.setDaemon(True)
t.start()
return HttpResponse()
有关更多详细信息,请参见此问题:
如果你愿意安装第三方库,但你想要比芹菜简单得多的东西,请查看Redis Queue。它确实需要Redis,这本身非常简单,但也可以提供许多其他好处 RQ本身几乎没有配置。它非常简单 参考资料:
- (Heroku上的RQ)