[worker] fix TSRepeat and ESArchive handlers

parent a6f58614
Pipeline #7246 failed with stages
in 13 minutes and 37 seconds
......@@ -201,7 +201,9 @@ handleTimeoutError _state@(State { .. }) _jt@(JobTimeout { .. }) = do
case timeoutStrategy mdata of
TSDelete -> deleteMessage broker queueName msgId
TSArchive -> archiveMessage broker queueName msgId
TSRepeat -> pure ()
TSRepeat -> do
void $ deleteMessage broker queueName msgId
void $ sendJob broker queueName (job { metadata = mdata { readCount = readCount mdata + 1 } })
TSRepeatNElseArchive n -> do
let readCt = readCount mdata
-- OK so this can be repeated at most 'n' times, compare 'readCt' with 'n'
......@@ -241,7 +243,7 @@ handleJobError _state@(State { .. }) brokerMessage = do
let mdata = metadata job
case errorStrategy mdata of
ESDelete -> deleteMessage broker queueName msgId
ESArchive -> deleteMessage broker queueName msgId
ESArchive -> archiveMessage broker queueName msgId
ESRepeatNElseArchive n -> do
let readCt = readCount mdata
if readCt >= n then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment