Worker
A worker is a unit of processing, that dequeues jobs and executes them.
It is started with a list of queues to listen to, in a specific order.
It can be started with concurrency options (multiple processes and / or multiple greenlets). We call this whole group a single 'worker' even though it is able to dequeue multiple jobs in parallel.
Statuses
At any time, a worker is in one of these statuses:
init
: General worker initializationwait
: Waiting for new jobs from Redisspawn
: Got some new jobs, greenlets are being spawnedfull
: All the worker pool is busy executing jobsjoin
: Waiting for current jobs to finish, no new one will be acceptedkill
: Killing all current jobsstop
: Worker is stopped, no jobs should remain