我正在django中建立一個與用R編寫的大程序接口的站點,並且我希望在運行該程序的站點上有一個按鈕R程序。我有這個工作,使用subprocess.call()
,但是,正如所料,服務器不會繼續呈現視圖,直到subprocess.call()
返回。由於這個程序可能需要幾個小時才能運行,這不是一個真正的選擇。
有什麼辦法可以運行R程序並繼續執行python代碼? 我搜索了四周,並看着subprocess.Popen()
,但我無法讓它工作。
這裏的通用代碼我使用的視圖:如何在Python中啓動一個子進程,而不是等待它返回
if 'button' in request.POST:
subprocess.call('R CMD BATCH /path/to/script.R', shell=True)
return HttpResponseRedirect('')
希望我剛纔忽略了一些簡單。
謝謝。
感謝您的快速回答!像魅力一樣工作! –
我很高興幫助你:) –