2011-01-12 158 views
1

我有一個Rails服務器需要在後臺運行python腳本。我知道我可以像運行ruby中的終端命令一樣運行它,但性能如何?使用python框架而不使用Rails更好嗎?在Rails服務器上運行python腳本有更好的方法(優化明智)嗎?如何在Rails服務器上運行python腳本?

+0

http://rubypython.rubyforge.org/設置守護進程? – Amber 2011-01-12 00:45:10

回答

5

如果您的意思是需要定期運行,只需將其設置爲cron作業,不需要擔心其中的特殊性能特徵。

如果您的意思是需要從Ruby網站請求頁面時運行,那麼每次運行該腳本時都不會很好,因爲它需要一遍又一遍地啓動Python解釋器。

如果Python腳本很大,但只從相對較少數量的頁面請求中調用,那麼您可能會擺脫這種情況,有時候不值得花時間優化一個不經常被調用的慢操作。

如果您的網站的大部分是基於Python腳本的功能,那麼是的,您可能更適合切換到Python Web框架並將其作爲模塊加載。

如果Python腳本不是很大,那麼您最好在Ruby中重寫它。

最糟糕的情況是,腳本很大並且經常使用,但是沒有足夠的網站來證明您可以切換到Python。在這種情況下,我會考慮將Python封裝在Ruby可以在後臺與之交談的守護進程中。

+2

或者,如果Python腳本運行時間相對較長,則可以使用後臺作業處理器(如DelayedJob或Resque)來運行python腳本。 – 2011-01-12 00:57:19

1

每次從ruby運行它時,都會產生啓動python的代價。成本在python框架中是相同的,除非你可以使用python腳本作爲庫。

相關問題