I have build an application in golang with uses asynq.
I have around 80-100 workers and 4 queues.
For the past few weeks I have been encountering an issue in which the asynq worker picks up the tasks(as the state of the task is active) but it doesn't get processed.
Even when the workers are free it doesn't gets picked up.
To Reproduce
Steps to reproduce the behavior (Code snippets if applicable):
Implement 4 different queues and about 80-100 workers.
Set the priority of the queues as 5, 7, 10 and 10.
Tasks should be such that they would take an average of 5 minutes per task.
Enqueue a lot of tasks(around 5000) related to the least priority queue.
Enqueue lesser tasks(around 1000) releated to high priority queue.
Then observe that a few tasks of the low priority queue won't even get picked up.
Expected behavior
Workers should pick up the task even it is of low priority after a certain amount of time.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
OS:Linux
Version of asynq package v0.24.1
Additional context
One of the other possiblities would be that the workers picked up the task processed it but the redis key didn't got updated.
Describe the bug
active
) but it doesn't get processed.To Reproduce Steps to reproduce the behavior (Code snippets if applicable):
Expected behavior
Screenshots If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
asynq
package v0.24.1Additional context