26

What's the difference between stoping workers vs 'quiet' them. In the web GUI I see both options but not sure what are the differences.

Also, whenever I stop all workers, do they stop gracefully meaning they are put on queue again or not?

Thanks.

borjagvo
  • 1,802
  • 2
  • 20
  • 35

1 Answers1

54
  1. Quiet means don't fetch new jobs from Redis anymore. Current jobs will continue to process indefinitely.
  2. Stop means quiet immediately + force any jobs still processing after the -t timeout (default: 8 seconds) to stop and push those unfinished jobs back to Redis.
Mike Perham
  • 21,300
  • 6
  • 59
  • 61
  • `don't fetch new jobs from Redis anymore` what abouty when click QuietAll ? – simo Feb 20 '19 at 09:25
  • 1
    QuietAll quiets ALL sidekiq processes, not just one. – Mike Perham Feb 20 '19 at 23:32
  • 2
    Since Sidekiq v6, default timeout [was increased from 8'' to 25''](https://github.com/mperham/sidekiq/blob/master/Changes.md) – MegaTux Sep 12 '19 at 13:01
  • Then how to resume the quiet queues again? – Bhawan Jan 19 '21 at 06:41
  • 1
    Restart Sidekiq! – Mike Perham Jan 19 '21 at 15:15
  • Hmm. Mike, we run multiple queues / workers. We quiet'ed a `cron`ed job, then restarted just the worker for that pod. It no longer shows as quiet -- but it doesn't seem to be doing any work, either. Is there some additional `redis` state that we needed to clear? – cobbr2 Feb 08 '21 at 18:21
  • @MikePerham- What is the meaning of indefinitely here..we are migrating to new cloud instance, we want to quiet the server, and once it finishes all jobs, it should not push new jobs, new server will take the new jobs. Will "quiet All" do the same? – prashantsahni Mar 21 '23 at 07:50