在rails应用程序上使用puma;它有时会死于没有任何关节的原因;在部署时经常死亡(停止后不重启)
监控进程是否已经死亡并以正确的方式重新启动会有什么好方法? 在rails应用程序中调用;我有一个方法可以为任何应用程序定义它。 我没有找到任何可用的方法(查看systemd,其他Linux守护进程......没有成功)
感谢任何反馈
答案 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