使用我的大型应用程序,Rails控制台需要一段时间才能加载。有没有办法更轻松地单个命令?
我也希望能够实现自动化,echo "query" | rails console
不是一种很好的做事方式。
思想?
编辑:如果我需要的话,我可以ping查询的长时间运行过程怎么样?
答案 0 :(得分:48)
在控制台之外运行命令有两种主要方法:
rails runner(以前的脚本/跑步者),例如:
$ rails runner "query"
这两个都在rails指南中有详细记录:http://guides.rubyonrails.org/command_line.html
btw:这两种方法仍然需要与控制台同时启动,但它们对于非交互式任务非常有用。
答案 1 :(得分:27)
将它输入:
echo 'puts Article.count' | bundle exec rails c
由于Spring,它现在应该比最初提出问题时快得多。这不是直接的,但仍然比旋转整个应用程序快得多。使用它作为快速通道,它应该在一秒钟内运行(假设您的所需命令很快):
echo 'puts Article.count' | spring rails c
如果你真的想要一个长时间运行的进程,你可以通过创建一个控制器动作来轻松地完成它,只需运行你发送给它的任何东西,然后使用别名后面的curl向它发送命令。该行动当然是完全不安全的,并且应该在生产附近的任何地方进行三重保护,但它很容易设置。