rails 5仅在服务器启动后运行脚本

时间:2017-12-20 06:24:32

标签: ruby-on-rails-5.1

我想仅在服务器启动时运行ftp侦听器类,而不是在运行控制台,生成器,dbconsole,test,destroy,runner和rake命令时运行。

我发现有些人使用像defined? Rails::Generators之类的检查对rails 3和4做同样的事情,但我无法在rails 5中使用它,我没有获得定义检查的任何回报。

1 个答案:

答案 0 :(得分:1)

config.ru文件仅供Web服务器使用,而不是由控制台脚本,rake任务甚至是测试套件加载。您放置的内容仅在服务器实例启动时执行。

Web服务器本身也有办法做到这一点。例如,当您使用Puma时,会有on_worker_bootafter_worker_boot等钩子,可能会有所帮助(http://www.rubydoc.info/github/puma/puma/Puma/Configuration/DSL)。

但是,我建议将其集成到已部署的服务器环境中以及Rails应用程序之外。