It appears that when restarting a worker without restarting primary can cause jobs to be lost (or stuck in "CREATED" state). This may be due to the redis blocking pop (blpop) call remaining in place even when the process that invoked it is killed (leaving a zombie?)...at least that's what the behavior would indicate (new job pushed onto queue and immediately vanishing).
For now, it's probably safest to restart the primary and then workers to ensure that redis queues are cleared of blocking calls.
It appears that when restarting a worker without restarting primary can cause jobs to be lost (or stuck in "CREATED" state). This may be due to the redis blocking pop (blpop) call remaining in place even when the process that invoked it is killed (leaving a zombie?)...at least that's what the behavior would indicate (new job pushed onto queue and immediately vanishing).
For now, it's probably safest to restart the primary and then workers to ensure that redis queues are cleared of blocking calls.