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

如何在Rails服务器上运行python脚本?,python,ruby-on-rails,ruby,Python,Ruby On Rails,Ruby,我有一个Rails服务器,它需要在后台运行python脚本。我知道我可以像在ruby中运行终端命令一样运行它,但是性能怎么样?使用python框架而不是Rails是否更好?在Rails服务器上运行python脚本是否有更好的方法(优化方面) 每次从ruby运行python时,您都要承担启动python的费用。在python框架中,成本是相同的,除非您可以将python脚本用作库。每次从ruby运行python时,您都将承担启动python的成本。在python框架中,成本是相同的,除非您可以将p

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

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

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

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


如果您的意思是需要在Ruby网站请求页面时运行该脚本,那么每次简单地运行该脚本将无法很好地执行,因为它需要反复启动Python解释器

如果Python脚本很大,但只从相对较少的页面请求中调用,那么您可能可以不受影响,有时不值得花时间优化不经常调用的缓慢操作

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

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


最糟糕的情况是,脚本很大,而且经常使用,但在您的网站中所占的比例不足以证明切换到Python是合理的。在这种情况下,我会考虑将Python包装在后台露比可以与后台对话的守护进程中。

如果您的意思是它需要周期性地运行,只需将其设置为CRON作业,就不必担心特殊性能特性。


如果您的意思是需要在Ruby网站请求页面时运行该脚本,那么每次简单地运行该脚本将无法很好地执行,因为它需要反复启动Python解释器

如果Python脚本很大,但只从相对较少的页面请求中调用,那么您可能可以不受影响,有时不值得花时间优化不经常调用的缓慢操作

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

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


最糟糕的情况是,脚本很大,而且经常使用,但在您的网站中所占的比例不足以证明切换到Python是合理的。在这种情况下,我会考虑将Python打包在后台露比可以与之对话的守护进程中。

< p>您可以在Rails中设置一个守护进程来执行Python脚本。
-关于在rails中设置守护进程的教程

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


-关于在rails中设置守护进程的教程

?或者,如果Python脚本运行时间相对较长,则可以使用DelayedJob或Resque之类的后台作业处理器来运行Python脚本。是的,这可能比在选择异步时滚动自己的守护进程更好。使用延迟作业与在Python框架中开发有很大区别吗?python脚本很大,而且会经常使用。我还没有开发web服务器,但我有ruby和rails方面的经验,没有python方面的经验。这就是我在开始开发之前做这项研究的原因。老实说,如果您还没有编写任何Ruby代码,并且Python中已经有了这些功能,那么对Rails前端的任何考虑在我看来都是“当您只有一把锤子时,一切看起来都像钉子”。铁轨是你的锤子。你这里有个螺丝钉。是的,在Rails前端安装一个插件是完全可行的,但是你或者其他最终维护网站的人会被一个hodge podge Frankenstein而不是一个内聚的整体卡住。这不是你应该真正计划去做的事情。是的,这就是你的感觉。此服务器将是使用rails作为前端的更广泛系统的一小部分,但由于此服务器将是一个独立服务器,因此不必运行rails。或者,如果Python脚本运行时间相对较长,则可以使用DelayedJob或Resque等后台作业处理器来运行Python脚本。是的,当异步是一个选项时,这可能比滚动您自己的守护进程更好。使用延迟作业和在python框架中开发有很大区别吗?python脚本很大,而且会经常使用。我还没有开发web服务器,但我有ruby和rails方面的经验,没有python方面的经验。这就是我在开始开发之前做这项研究的原因。老实说,如果您还没有编写任何Ruby代码,并且Python中已经有了这些功能,那么对Rails前端的任何考虑在我看来都是“当您只有一把锤子时,一切看起来都像钉子”。铁轨是你的锤子。你这里有个螺丝钉。是的,在Rails前端安装一个插件是完全可行的,但是你或者其他最终维护网站的人会被一个hodge podge Frankenstein而不是一个内聚的整体卡住。这不是你应该真正计划去做的事情。是的,这就是你的感觉。该服务器将是使用rails作为前端的更广泛系统的一小部分,但由于该服务器将是独立服务器,因此不必运行rails。