从Ruby on Rails网络服务器执行python脚本

时间:2014-02-05 01:46:40

标签: python ruby-on-rails ruby-on-rails-4

是否有从Ruby on Rails网络服务器运行python脚本的传统方法?

我有一个Ruby on Rails站点,目前已部署到Heroku(我可以部署到AWS或任何可能的地方)。

我希望人们上传,并在某些页面请求上执行任意python脚本(我们会检查安全性)。 python脚本应该运行相对较短(几秒钟顶部),主要是解析或处理数据。理想情况下,我们会让用户以任何语言上传脚本,但python是目前最重要的。

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。最明显的一个是编写另一个Web服务,这个服务在Python中,但这并不优雅。另一种解决方案:

安装rubypython gem。

然后你可以做以下事情:

require 'rubypython'
RubyPython.start
my_python_module = RubyPython.import('my.python.module')
value = my_python_module.my_python_function().rubify
RubyPython.stop

您可以在rubypython documentation pages看到更多信息。

第三个选项是通过IO.popen简单地将Python作为任何可执行文件执行并执行。