我正在 django 中构建一个与用 R 编写的大型程序交互的站点,并且我希望在运行 R 程序的站点上有一个按钮。我有那个工作,使用subprocess.call()
,但是,正如预期的那样,服务器在返回之前不会继续渲染视图subprocess.call()
。由于这个程序可能需要几个小时才能运行,所以这不是一个真正的选择。
有什么方法可以运行 R 程序并继续执行 python 代码?我已经四处搜索,并查看了subprocess.Popen()
,但我无法让它工作。
这是我在视图中使用的通用代码:
if 'button' in request.POST:
subprocess.call('R CMD BATCH /path/to/script.R', shell=True)
return HttpResponseRedirect('')
希望我只是忽略了一些简单的事情。
谢谢你。