disque icon indicating copy to clipboard operation
disque copied to clipboard

Reset the RETRY timer when a job is sent to a worker?

Open benbro opened this issue 9 years ago • 2 comments

I have one disque server with two workers, all on the same machine. I'm adding a job with RETRY of 12 hours and TTL of 72 hours: ADDJOB queue_name job 1000 RETRY 3600_12 TTL 3600_72 Each job requires about 4 hours of processing before it ACKed.

Sometimes while worker-1 is processing a job, worker-2 is receiving the same job. I think it happens if worker-1 received the job after more than 8 hours so the RETRY timeout fires before it finished processing. I would expect the RETRY timer to reset when a worker received the job and only fire 12 hours after it.

I can use WORKING jobid if my above understanding is wrong.

benbro avatar Feb 26 '16 20:02 benbro

@benbro Thank you. Now i am able to understand why the jobs are delivered more than once in my app. I assumed that RETRY will start the countdown only after the job is delivered to the worker.

skyrocknroll avatar Apr 14 '16 11:04 skyrocknroll

@antirez If the timer is not reset then there will be a race between the time delivered and worker sending working to reset the retry time.

abhidrona avatar Apr 27 '16 11:04 abhidrona