hibiken / asynq

Simple, reliable, and efficient distributed task queue in Go
MIT License
9.4k stars 677 forks source link

[BUG] Asynq task didn't got processed by the worker even after many hours of getting picked up #907

Open gautam-tiwari opened 1 month ago

gautam-tiwari commented 1 month ago

Describe the bug

To Reproduce Steps to reproduce the behavior (Code snippets if applicable):

  1. Implement 4 different queues and about 80-100 workers.
  2. Set the priority of the queues as 5, 7, 10 and 10.
  3. Tasks should be such that they would take an average of 5 minutes per task.
  4. Enqueue a lot of tasks(around 5000) related to the least priority queue.
  5. Enqueue lesser tasks(around 1000) releated to high priority queue.
  6. Then observe that a few tasks of the low priority queue won't even get picked up.

Expected behavior

Screenshots If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

Additional context

of89013 commented 3 weeks ago

我估计我的错误也是这个情况

gautam-tiwari commented 3 weeks ago

Hi @of89013 How is that so?

gautam-tiwari commented 3 weeks ago

There also exists one issue where the "msg" subkey inside the redis asynq key map gets lost somehow. I'll attach a ss for reference.

Invalid asynq key(missing msg field)

Screenshot 2024-08-16 at 1 35 40 PM

Valid asynq key

Screenshot 2024-08-22 at 10 45 37 PM