Sidekiq 无法启动(收到 SIGHUP)

Sidekiq won't start (getting SIGHUP)

我有一个带有 Sidekiq 和 capistrano-sidekiq 的 Rails 5 API,在过去的几个月里一直运行良好。

前几天,Sidekiq 停止处理作业。检查日志,我看到

bundler: failed to load command: sidekiq (/home/user/project/shared/bundle/ruby/2.2.0/bin/sidekiq)
SignalException: SIGHUP
/home/user/project/shared/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/core_ext/module/attribute_accessors.rb:119:in `<class:Module>'
/home/user/project/shared/bundle/ruby/2.2.0/gems/activesupport-5.0.0.1/lib/active_support/core_ext/module/attribute_accessors.rb:6:in `<top (required)>'
... (snip)

每当我尝试启动 Sidekiq 时,上面的内容都会出现在日志中。它已使用安静命令 (USR1) 关闭并正常退出。

INFO: Received USR1, no longer accepting new work

我正在使用 Capistrano 进行部署,在发生这种情况之前一直运行良好。这是 Capistrano 用来启动 Sidekiq 的命令:

INFO [2aac3b89] Running $HOME/.rbenv/bin/rbenv exec bundle exec sidekiq --index 0 --pidfile /home/user/project/shared/tmp/pids/sidekiq-0.pid --environment production --logfile /home/user/project/shared/log/sidekiq.log --daemon as user@xxx.xxx.xxx.xxx
DEBUG [2aac3b89] Command: cd /home/user/project/current && ( export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.2.3" ; $HOME/.rbenv/bin/rbenv exec bundle exec sidekiq --index 0 --pidfile /home/user/project/shared/tmp/pids/sidekiq-0.pid --environment production --logfile /home/user/project/shared/log/sidekiq.log --daemon )
INFO [2aac3b89] Finished in 1.176 seconds with exit status 0 (successful).

这是怎么回事?我怎样才能确保它不会在未来发生?

在 capistrano 中,我将 :pty 设置为 true。我猜它在它有机会启动之前就杀死了这个过程。我仍然不确定为什么现在这是一个问题,但是将 :pty 设置为 false 似乎已经成功了。