pat / thinking-sphinx

Sphinx/Manticore plugin for ActiveRecord/Rails
http://freelancing-gods.com/thinking-sphinx
MIT License
1.63k stars 470 forks source link

Deploys and Sidekiq workers #1130

Closed atomical closed 5 years ago

atomical commented 5 years ago

Hi Pat,

I'm wondering about how you do deploys. Do you shutdown the Sidekiq workers, copy the code, and then restart them or do you do rolling deploys where workers with new code are started before the old workers are shutdown?

I'm thinking of strategies to do zero downtime for Sidekiq workers in general.

Adam

pat commented 5 years ago

Hi Adam,

Most of my stuff runs on Heroku, so I don't have fine-grained control over that process. In the one case where I am managing things myself (Flying Sphinx's servers), I roll out the new code, and then tell Sidekiq to stop accepting new jobs and stop itself once the current ones are done. Monit then gets it running again after that with the new code. So, it's not really zero downtime.

And within the TS context: I'm not using sidekiq deltas anywhere these days, opting for real-time indices instead.

pat commented 5 years ago

Closing this issue as it's been dormant for over a month. Feel free to add more comments though if further questions crop up :)