1. A method for scheduling schedulable entities onto an execution timeline for a first processing entity in a constrained environment, the method comprising: determining available capacity on the execution timeline for the first processing entity based on constraints on the execution timeline over a plurality of time periods, wherein schedulable entities can only be scheduled onto the execution timeline during schedulable windows of time that are not precluded by constraints; determining whether enough available capacity exists to schedule a first schedulable entity with a first budget at a first rate onto the execution timeline; and when enough available capacity exists to schedule the first schedulable entity with the first budget at the first rate, scheduling the first schedulable entity onto the execution timeline for the first processing entity during a first schedulable window of time; when the first schedulable entity is scheduled onto the execution timeline, updating the available capacity to reflect the capacity utilized by the first schedulable entity.