In a situation where the Redis connection is reconnected (eg. Redis server failover in HA environment, TCP proxy client connection timeout etc.), the worker does not pick up the repeatable job from the queue. This only happens if the TCP Redis connection closes before the repeatable job's retry period.
Here is the POC (it is necessary that the Redis reconnection occurs after 6 seconds, for example it is possible to hide Redis behind HAProxy and set it to client timeout 6s to achieve this behavior ):
In a situation where the Redis connection is reconnected (eg. Redis server failover in HA environment, TCP proxy client connection timeout etc.), the worker does not pick up the repeatable job from the queue. This only happens if the TCP Redis connection closes before the repeatable job's retry period.
Here is the POC (it is necessary that the Redis reconnection occurs after 6 seconds, for example it is possible to hide Redis behind HAProxy and set it to
client timeout 6s
to achieve this behavior ):Stdout POC:
First Job from Redis:
Second Hanging Job from Redis: