I have a set of jobs that start by querying an external server for a payload. On receiving the payload, the internal server takes a variable amount of time to complete the job, hence the 'weight'. What I'd like to do is schedule the jobs in such a way that stress on the external server is minimized: if I ran lots of consecutive 'light' jobs, for instance, the server might not be able to handle the traffic and go down. I can think of some easy approaches, like just alternating light jobs with heavy ones, but is this problem formally stated somewhere? It'd be nice to refer to that.