簡體   English   中英

cherrypy線程不產生子進程

[英]cherrypy thread does not spawn subprocess

我有一個調用子進程(subprocess.Popen)的cherrypy應用程序,它在大多數情況下都可以正常工作,但有時不起作用。 當我重新啟動服務器時,subprocess.popen被調用並正常工作。 有沒有一種方法可以監視cherrypy中的線程並檢查為什么未調用subprocess.popen。

更新:線程繼續執行代碼的其余部分,我可以響應,唯一的問題是未調用子流程

樣例代碼

def fn_test(self,**args):
    #return args['md5'].split()[0]
    final_html="the complete html"
    for i in ['ab','cd','ef']:

        if args.has_key(i):
            cherrypy.session[i]='checked'
        else:

            cherrypy.session[i]=''



    subprocess.Popen(["python","test.py",'test','aval','bval'])
    return final_html

對於簡單的偶爾的后台任務,我建議使用cherrypy.process.plugins.BackgroundTask 請看一下這個問題 ,以獲取有關后台任務的完整示例和其他一般注意事項。

具體來說,在處理subprocess問題時,請確保可以推斷出背景代碼的正確性。 至少要在啟動,停止以及模塊中重要狀態更改之前/之后進行多個logging條目。 另外,對於調試,建議使用真正簡單的東西替換您的命令,以確保沒有錯誤。 例如, date >> date.log 然后,可以清楚地確定問題是源自后台模塊的缺陷還是源自流程生成問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM