When I check the process count for sidekiq, I found 2 processes (say sidekiq-0 and sidekiq-1) shortly after the deployment. However, after a while (less than 1 minute), I see another child process being spawned as well. I understand this library fork another process to run the health check server (we configure it as puma), but I expect only the puma process to be direct descendent of sidekiq-x. But what actually happen is there's an additional sidekiq runner child process (pid 7959) being spawned before the puma process was spawn (see the attached image). I also ended up with 3 pid files, sidekiq-0.pid, sidekiq-1.pid and sidekiq.pid (I don't expect this pid file to appear).
The mentioned behaviour does not happen if I disable sidekiq-alive altogether. Does that mean our sidekiq process setup is not suitable to use sidekiq-alive?
Description
We run 2 processes with different queue for the same app in a node. The capistrano config is as followed.
When I check the process count for sidekiq, I found 2 processes (say sidekiq-0 and sidekiq-1) shortly after the deployment. However, after a while (less than 1 minute), I see another child process being spawned as well. I understand this library fork another process to run the health check server (we configure it as
puma
), but I expect only the puma process to be direct descendent of sidekiq-x. But what actually happen is there's an additional sidekiq runner child process (pid 7959) being spawned before the puma process was spawn (see the attached image). I also ended up with 3 pid files,sidekiq-0.pid
,sidekiq-1.pid
andsidekiq.pid
(I don't expect this pid file to appear).In our another environment, we only run 1 sidekiq process per app per node with sidekiq-alive enabled, the process list seems fine.
The mentioned behaviour does not happen if I disable sidekiq-alive altogether. Does that mean our sidekiq process setup is not suitable to use sidekiq-alive?
Environment