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

rails 5 run script only after server start

我只想在服务器启动时 运行 ftp 侦听器 class 而不是在控制台、生成器、dbconsole、测试、销毁、运行ner 和rake 命令 运行.

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

config.ru 文件仅供网络服务器使用,不会被控制台脚本、rake 任务甚至您的测试套件加载。您放在那里的内容仅在服务器实例启动时执行。

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

但是,我建议将其集成到您部署的服务器环境中,并从 Rails 应用程序中集成。