在Rails中运行Python脚本

我的问题可能很简单:

  • 我应该在哪里放置我制作的python脚本文件 ,以便在rails服务器上的rails上运行?

  • 我该如何调用脚本? ( 我正在寻找什么是路径目录

  • 我试图在我的本地机器上运行它,我可以在其中存储文件,但我真的想在企业服务器上遵循某种类型的良好惯例。 :/

    现在我把它放在脚本根目录下的脚本文件夹中。

    脚本会打印到标准输出,因为这是Ruby在运行时看到的。 所以打印输出将被存储到一个变量中,然后我将使用一些函数来计算csv字符串字段,然后将其分类到相应的db分箱中。

    但我真的无法弄清楚把文件放在哪里。 我的搜索没有特别的搜索结果。 要么它很容易,我错过了一些东西,或者只是没有人在意这样做......


    编辑:谢谢你的回复,但我所说的一定不是完全清楚,所以我编辑子弹。

  • 我在哪里把python脚本 (程序) 导轨( 文件夹明智 )? 有没有一个文件夹,我应该把它视为惯例。 我之前在app / assets / python中使用过它,并且我试图使用它的轨道出现错误,就好像它是普通的样式文件一样。

  • 如果我将它存储为:script / python / do-it.py,我想称它为该文件位置的路径是什么? 是否就像我写了它或别的什么,因为我不能让它运行...

  • 只是提及..使用反引号对我来说最合适我在想,我已经在本地ruby测试文件中获得了这项工作,但是我试图在rails上使用本应该使用的最佳约定来实现。 ..事情是......我不知道这些惯例是什么......

    所以简单地说,这就是我所做的(隐私稍有改变)

    <#% result = Array.new %>
    <#% Thread.new do %>
      <#%= result = `python /home/me/RailsApp/script/py_file.py #{param} &` %>
    <#% end %>
    <p><#%= puts result %></p>
    

    还是它?

    <#% result = Array.new %>
    <#% Thread.new do %>
      <#%= result = `python script/fixitfelix/py_file.py #{param} &` %>
    <#% end %>
    <p><#%= puts result %></p>
    

    我要仔细检查一下,看看我是否回答了我自己的问题。

    我不得不使用线程的东西。 该脚本运行了一段时间,它会在运行时挂起整个服务器。


    感谢J柏拉图,我只是想为任何搜索这个确切问题的人拼出来。

    要运行一些py_test.py脚本,我把脚本放在:

    lib/assets/py_test/py_test.py
    

    并通过以下方式运行:

    result = `python lib/assets/py_test/py_test.py`
    

    注意:我使用了反引号内核方式。

    由于我运行的python文件需要时间才能工作,如果我只使用了直接的反引号代码,它会挂起服务器直到脚本结束。 我解决这个问题的方法是制作一个线程。 我不确定这是否是最有效的方式,但它对我的需求至今仍然有效。 线程代码在上面,在原始问题中。 在代码块中,它被注释掉了html.erb脚本,因为那是我最初测试它并且没有修改它的地方,对不起,如果这很让人困惑......

    谢谢大家发布更多,如果你有任何其他要说或纠正我。 我会密切关注这篇文章:)

    链接地址: http://www.djcxy.com/p/25311.html

    上一篇: Running a Python Script in Rails

    下一篇: Prawn templates not working