Rails/Capistrano:检查 sidekiq 是否在 EC2 实例上 运行

Rails/Capistrano: check if sidekiq is running on an EC2 instance

我正在使用 EC2 实例来托管 rails 应用程序。我正在使用 capistrano 进行部署,我已经包含了 sidekiq,它工作正常。然而,有时在部署时,有时偶尔,sidekiq 会停止 运行ning,直到某些使用 sidekiq 的任务没有 运行 时我才注意到。

我可以在部署时做一些检查,但如果它最终在部署后停止工作,那仍然是个问题。

我想知道什么是最好的方法,在那种情况下,定期检查 sidekiq 是否 运行ning,如果不是,运行 它。

我想为此做一个 bash 脚本,但显然,当我从命令行 运行 sidekiq 时,它会创建另一个进程,其 pid 与 sidekiq 启动的进程不同。 .所以我认为它可能会变得混乱。 任何帮助表示赞赏。谢谢!

学习并使用 systemd 来管理服务。

https://github.com/mperham/sidekiq/wiki/Deployment#running-your-own-process