Limit concurrent deploys per project / multiple queues

Is it possible to limit the number of concurrent deploys per project, or set up multiple task queues?

We are deploying several projects from our single server, and I would like to prevent a single project from starting a 90+ task deploy and effectively block all other projects from deploying.

One of our projects have 90+ tenants, all on the same deployment target. When we start a deploy to all those targets, the task queue will be filled with tasks, and the server is limited to processing 5 of those simultaneously. Each task, however, is mostly dealing with the same deployment target, which limits the concurrency of each step. Essentially, only one of those 5 concurrent tasks are actually doing anything, but other tasks (of different projects and tenants) will be queued after the 90+ tasks.

I would like there to be a way to signal to the task scheduler that a project should only have a certain number of tasks running, so that the server can process other tasks as well without having to wait a few hours for the large number of deploys to complete.

Hi Tore,

Thanks for getting in touch with your fantastic question, and welcome! Unfortunately for the time being there isn’t a first-class way to do this, however something I’m hoping will help to some degree is the following script my colleague wrote to give some control over reprioritizing tasks.

I know supporting this has previously been on our radar. While best case scenario is built-in support for this functionality would be some time away, I’ll raise this question internally to get an idea as to its current status.

Let me know what you think or if you have any questions in the meantime!

Best regards,