在实施puma
时,我已经将ubuntu版本从14.04更新到16.04。
先前的服务是基于暴发户,基本上workers
和sidekiq
开始与暴发户。但是,当我尝试部署实际代码时会出现问题。
在部署期间,先前的代码通过如下代码检查工人的状态。
if capture('status workers') =~ /start/
我没有在ubuntu 16.04中安装upstart
,因此此时部署失败。无论如何,我可以用ubuntu 16.04中的upstart
替换这样的命令吗?
此外,上面显示的Kernel.capture
也是不推荐使用的代码。有没有替换这些,请告诉我。
你应该在Ubuntu 16.04中使用systemd
utils:
sudo systemctl status puma.socket puma.service
for Puma - 请参阅Puma systemd pagesudo systemctl status sidekiq
为Sidekiq - 见Sidekiq's systemd service file而不是使用Kernel.capture,使用Ruby Open3方法 - 有一个good article on them。