># If workers are quiet, job1 will be run first in 10 minutes
># If workers are busy, job2 will be run first in 11 minutes
># If workers are too busy, both jobs will exceed their max latency.
So... priorities for tasks in a background queue.
I agree explicit latency tolerance is often a great way to do this - it lets you know what you can relax and reschedule, and if it's far enough in the future you can predict load / scale preemptively. Plus it works without having to deal with defining who gets what priority integer (or when to subdivide floats). But it degrades to the same behavior as priorities.
># If workers are busy, job2 will be run first in 11 minutes
># If workers are too busy, both jobs will exceed their max latency.
So... priorities for tasks in a background queue.
I agree explicit latency tolerance is often a great way to do this - it lets you know what you can relax and reschedule, and if it's far enough in the future you can predict load / scale preemptively. Plus it works without having to deal with defining who gets what priority integer (or when to subdivide floats). But it degrades to the same behavior as priorities.