Job priorities will set the running order of media processing
Introduction
Job allocation slots are intelligently shared among users. No one user can take all resources from others. This is managed by job priorities and round-robin job allocation. Job priorities run in reverse order from 3, where 1 is the highest priority
Example 1
Jobs are sent from your Imagen platform in the order set by priority. Say you have a running job limit of 10 at any given time, but you are sending 11 jobs, 10 with priority 2, and 1 job with priority 3. The job with priority 3 will wait, whilst the 10 jobs with priority 2 will be sent.
Why might I use this?
If, as an example, a sports federation were to upload large numbers of videos, that will always take a long time and consume the maximum number of running jobs - with a steady stream waiting for a slot - there may be a requirement for users to make clips quickly. To allow this to happen, we need to push these clips to the head of the queue. We do this by assigning the clip order workflow a higher priority. As we can see from the diagram below, the priority 2 job has jumped the queue and will begin processing even if a priority 3 job had been sent first
Load Balancing by round-robin
To ensure that resources are distributed evenly and fairly amongst users, a round-robin approach is taken to load-balance the incoming jobs.
Let's say user X sends 10 priority 2 jobs, and user Y sends 1 priority 2 job - one job will be taken from user X and one from user Y. After this, 8 more jobs will be taken from user X. When the first job is finished, the final job from user X will be taken.