对于我的大型应用程序,Rails控制台需要一段时间才能加载。有没有办法更简单地单一命令?在控制台之外运行Rails命令
我也想能够自动化的东西,并echo "query" | rails console
是不是一个伟大的方式来做事情。
想法?
编辑:如果我有需要的话,我可以查询到一个长时间运行的过程呢?
对于我的大型应用程序,Rails控制台需要一段时间才能加载。有没有办法更简单地单一命令?在控制台之外运行Rails命令
我也想能够自动化的东西,并echo "query" | rails console
是不是一个伟大的方式来做事情。
想法?
编辑:如果我有需要的话,我可以查询到一个长时间运行的过程呢?
有外界控制台运行命令主要有两种方式:
轨道亚军(以前脚本/亚军),例如:
$轨道亚军“查询”
两者在导轨指南上都有很好的记录:http://guides.rubyonrails.org/command_line.html
btw:这两种方法仍然需要与控制台相同的时间来启动,但它们对于非交互式任务很有用。
只是管它:
echo 'puts Article.count' | bundle exec rails c
它现在应该是因为Spring不是那么当这个问题最初问快了很多。这不是直接的,而是比旋转整个应用程序快得多。使用此为快车道,应该在第二运行(假设你需要的命令是快):
echo 'puts Article.count' | spring rails c
如果你真的想要一个长期运行的进程,你可以很容易地通过创建一个控制器做只需运行POST的任何操作,然后使用curl在别名后面发送命令。这种行动当然是完全不安全的,应该三重防范在靠近生产的任何地方跑步,但这会很容易设置。
我很好奇你的用例是什么,因为它似乎有可能是一个更好的解决方案。 –
我正在使用Geckoboard从正在运行的应用程序获取统计信息,使用JSON提要我正在设置这些查询......我是否完全错误? – tekknolagi
将代码直接构建到应用程序中并通过HTTP获取数据可能更有意义。如果它是敏感信息,则需要某种授权,例如,一个带有请求的API密钥。 –