How can I limit the queue "in progress"?
I don't understand what has changed. A few days ago, instead of queuing, tasks almost immediately get into progress. Because of this, the execution time is increasing.
I want 1-2 tasks to be in progress, and the rest to wait in line. How to do it?
It should be the other way around.
8 Replies
I had to remove the time limit for execution because the tasks started to fail "Execution Time"
You could make 2 active servers with a max of 2 workers. This would handle up to 2 simultaneous requests and QUEUE any others. You could do similar without active workers but those will scale based upon your usage.
Scaling works correctly.
The question is why, instead of queuing, all requests go to progress. Previously, there was always 1 task in progress, the rest were in the queue. Now you can see in the screenshot that Queue 1 and 5 are in progress
That's what I'm talking about.
I've only seen that happen when things are failing to complete. Something goes wrong and the worker dies after the task goes into IN_PROGRESS and then doesn't get re-assigned. If you have a timeout set then they will timeout and RP will attempt to process it 2 more times (3 in total) before they mark it as TIMED_OUT. If you don't have a execution timeout I think they will stay IN_PROGRESS orphans until you manually CANCEL them.
I haven't changed anything in my code, requests, or worker settings. Previously, this worker did his job well.
According to the schedule, you can see that the task execution time has greatly increased because he began to take several tasks at once, rather than leaving them in the queue. Are you sure that there have been no updates from the side of the Runpod that affect the work?
No, I cannot be sure. I have no more insight into what might be going on at RunPod than you do. To have RunPod look into it I suggest you opening a ticket on their site, provide them date/time and your endpoint ID and they can look into it in much more detail.
Thanks for the help!
Yes, I'll open the ticket now