Puma - Linux上的Rails //当进程死亡时重启

时间:2014-05-26 10:11:33

标签: ruby-on-rails-4 daemon upstart puma

在rails应用程序上使用puma;它有时会死于没有任何关节的原因;在部署时经常死亡(停止后不重启)

监控进程是否已经死亡并以正确的方式重新启动会有什么好方法? 在rails应用程序中调用;我有一个方法可以为任何应用程序定义它。 我没有找到任何可用的方法(查看systemd,其他Linux守护进程......没有成功)

感谢任何反馈

1 个答案:

答案 0 :(得分:11)

您可以使用puma control启动/停止puma服务器。如果您知道放置puma.pid文件的位置(对于Mac,通常是"#{Dir.pwd}/tmp/pids/puma.pid"),您可以这样做:

bundle exec pumactl -P path/puma.pid stop

要设置pid文件路径或其他选项(如daemonizing),您可以创建puma配置。您可以找到an example here。然后使用配置文件启动和停止服务器:

bundle exec pumactl -F config/puma.rb start

您还可以通过以下方式重新启动并检查状态:

bundle exec pumactl -F config/puma.rb restart
bundle exec pumactl -F config/puma.rb status