2011-06-21 44 views
3

我有一個背景python腳本,每天運行數千次。我只是用python foo.py來運行它。腳本本身執行一些導入操作(解析庫和sqlalchemy),然後建立數據庫連接,進行解析並將數據保存到db。加載環境運行Python腳本的代價是多少?

我想知道如果每次腳本運行時它是否會加載大量的開銷來加載python環境?

我可以讓腳本啓動一次,它會有一個輪詢循環來查看它是否應該執行某些操作,但是想澄清一下,這是值得的。

任何輸入?

回答

4

當然,它增加了很多開銷,它會(但可以忽略)更環保使用內置的民意調查或select();但是你必須有一個看門狗來查看它是否崩潰,或者使用inittab中的respawn。只要服務器負載很好,它可能是不值得的。


忘記提及,在cron作業中不明顯的內存泄漏可能會在您的腳本作爲守護進程運行時變成服務器佔用的怪物。你會想在第一或第二個小時仔細觀察它,看看它是否在增長。

+0

此外,分叉進程的操作系統開銷必須計入英寸一個古老的輪詢循環效率更高。 –

+0

使用CGI與FCGI或WSGI相似的參數也適用。如果運行速度足夠快,那麼在頭頂上的差異並不重要 - 儘管你可能會減少你的二氧化碳排放量:)如果你受到I/O限制,它可能確實沒什麼區別 –

相關問題