Support for High Priority Deployments/Tasks
Sometimes our task queue is filled with a lot of tasks waiting to be executed. Every once in a while a priority deployment needs to take place at the same time.
In such case It would be very useful if we could mark this deployment as "High Priority", so that the tasks of this deployment are handled before the already existing tasks in the queue.
This is not possible now, the only solution now is to cancel all the existing tasks.
Mark Hatton commented
We run in to this problem all the time. We have a project that must be deployed to production on demand as an AWS auto-scaling group adds nodes. If we have another project doing a large tenanted deployment (similar to @bastiaan ~200 tenants at 5-10 minutes each, for a total of about 2h45m for a full deployment), we are unable to scale our API layer until all the deployments finish! It's horrible because you're powerless to do anything to override it.
Ideally being able to set a deployment priority at a project/environment combo level would be ideal, but even being able to manually reorder the queue would be a major step forwards to get us out of trouble sometimes!
Bastiaan Molsbeck commented
@casterlight: That doesn't work in our scenario:
We have a tenanted deployment running, for more than 250 tenants, which run 5 - 10 minutes per tenant. We have set the task cap to 10. This still means that the entire deployment takes about 2 - 3 hours. During that period we cannot perform any high priority deployments.
We cannot crank up the task cap further or use more workers because the underlying SQL Server(s) that processes the deployment cannot handle much more parallel work without a performance degradation.
Meh, crank your task cap up on your node. I'm willing to bet your server can handle it. Leverage workers and add more tentacles to your boxes and scope your roles accordingly and you shouldn't have this issue.
Josh Jones commented
Just the ability to control the "priority" within a queue would be nice from an Admin perspective (system team?). if there were 8 deployments queued and we had the ability to re-order any of the deployments in that queue (I would not expect to be able to "pause" a deployment in progress, but control the order of releases waiting to be deployed.)