Monitor for dead consumers
John-Connolly opened this issue · 0 comments
John-Connolly commented
Currently SwiftQ does not monitor the processing queue for dead tasks. If a consumer crashes it will only be requeued on restart. SwiftQ uses per consumer processing queues consequently it is possible for tasks to get abandoned if that consumer is never restarted.
Possible Solutions
-
Keep track of every time a consumer pops a task and periodically monitor for timeouts.
-
Have task specific timeouts using the Redis SETEX command.
Monitoring
Every consumer will have to monitor every processing queue.