我的问题可能很简单:
我应该在哪里放置我创建的python脚本文件,以便在该rails服务器上的轨道上运行?
如何调用脚本? (我正在寻找路径目录)
我试图在我的本地机器上运行它,我可以将文件存储在任何地方,但我真的想在企业服务器上遵循某种类型的良好惯例。 :/
现在我把它放在拱门根部的脚本文件夹中。
脚本打印到std,因为这是Ruby在运行时看到的内容。因此打印输出将被存储到变量中,然后我将使用一些函数来计算csv字符串字段,然后将其排序到相应的数据库中。
但我真的很难找出放置文件的位置。我的搜索没有特别的点击。要么它真的很容易,我错过了一些东西,或者没有人关心这样做......
编辑:感谢您的回复,但我所说的一定不能完全清楚,所以我编辑子弹。
我在哪里放置python脚本(程序) ON 导轨(文件夹方式)?是否有一个文件夹,我应该把它作为惯例。之前我在app / assets / python中有过它,我从rails尝试使用它时出错,好像它是一个普通的样式文件。
如果我将它存储为:script / python / do-it.py并且我想调用它,那个文件位置的路径是什么?就像我写的那样或者别的东西,因为我无法让它运行......
并且只是提到..使用反引号对我来说效果最好我在想,我已经在本地ruby测试文件上完成了这项工作,但是我试图在轨道上执行此操作,并且具有所谓的最佳约定使用....事情是......我不知道这些惯例是什么......
所以,这就是我所做的一切(隐私略有变化)
<#% 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>
我要仔细检查,看看我是否回答了自己的问题。
我不得不使用线程的东西。该脚本运行一段时间,它会在整个服务器运行时挂起它。
答案 0 :(得分:4)
感谢J Plato,我只是想为搜索这个问题的人拼出这个。
要运行一些py_test.py脚本,我将脚本放在:
lib/assets/py_test/py_test.py
并通过以下方式运行:
result = `python lib/assets/py_test/py_test.py`
注意:我使用反引号内核方式。
由于我运行的python文件需要时间才能工作,如果我只是使用了直接反引号代码,它会挂起服务器直到脚本完成。我解决这个问题的方法是制作一个帖子。我不确定这是否是最有效的方法,但它可以满足我的需求。在原始问题中,线程代码在上面。在代码块中,它被注释掉了 html.erb 脚本,因为这是我最初测试它并且没有修改它的,抱歉,如果那令人困惑......
如果您还有其他任何想要或纠正我的话,感谢大家发帖。我将密切关注这篇文章:)