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

问题描述 投票:1回答:1

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

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

ruby-on-rails-5.1
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.