如何在Rails服务器上运行python脚本?

时间:2011-01-12 00:42:01

标签: python ruby-on-rails ruby

我有一个Rails服务器,需要在后台运行python脚本。我知道我可以运行它,就像我在ruby中运行终端命令一样,但性能如何呢?使用python框架而不是Rails更好吗?是否有更好的方法(优化明智)在Rails服务器上运行python脚本?

3 个答案:

答案 0 :(得分:5)

如果您的意思是需要定期运行,只需将其设置为cron作业,无需担心特殊性能特征。

如果你的意思是它需要在你的Ruby网站请求页面时运行,那么每次运行脚本都不会很好,因为它需要一遍又一遍地启动Python解释器。

如果Python脚本很大但只是从相对较少的页面请求中调用,那么您可能能够避免这种情况,有时候不值得花时间来优化不经常调用的慢速操作。

如果您网站的大部分内容都基于Python脚本的功能,那么您可能最好切换到Python Web框架并将其作为模块加载。

如果Python脚本不是很大,那么最好用Ruby重写它。

最糟糕的情况是脚本很大并且经常使用,但是不能弥补您的网站足以证明切换到Python的合理性。在这种情况下,我会考虑将Python包装在Ruby可以在后台与之交谈的守护进程中。

答案 1 :(得分:1)

每次从ruby运行python时,都会产生启动python的成本。在python框架中,成本是相同的,除非您可以将python脚本用作库。

答案 2 :(得分:1)

您可以在rails中设置一个守护进程来执行python脚本。

http://railscasts.com/episodes/129-custom-daemon - 在rails中设置守护进程的教程

相关问题