sampo.schemas.schedule_spec#

Overview#

Classes#

WorkSpec

Here are the container for externally given terms, that the resulting ScheduledWork should satisfy.

ScheduleSpec

Here is the container for externally given terms, that Schedule should satisfy.

Classes#

class sampo.schemas.schedule_spec.WorkSpec#

Here are the container for externally given terms, that the resulting ScheduledWork should satisfy. Must be used in schedulers. :param chain: the chain of works, that should be scheduled one after another, e.g. inseparable, that starts from this work. Now unsupported. :param assigned_workers: predefined worker team (scheduler should assign this worker team to this work) :param assigned_time: predefined work time (scheduler should schedule this work with this execution time) :param is_independent: should this work be resource-independent, e.g. executing with no parallel users of its types of resources

chain: list[sampo.schemas.works.WorkUnit] | None#
assigned_workers: dict[sampo.schemas.types.WorkerName, int]#
assigned_time: sampo.schemas.time.Time | None#
is_independent: bool = False#
class sampo.schemas.schedule_spec.ScheduleSpec#

Here is the container for externally given terms, that Schedule should satisfy. Must be used in schedulers.

Parameters:

work2spec – work specs

_work2spec: dict[str, WorkSpec]#
set_exec_time(work: str | sampo.schemas.works.WorkUnit, time: sampo.schemas.time.Time) ScheduleSpec#
assign_workers_dict(work: str, workers: dict[sampo.schemas.types.WorkerName, int]) ScheduleSpec#
assign_workers(work: str, workers: list[sampo.schemas.resources.Worker]) ScheduleSpec#
get_work_spec(work_id: str) WorkSpec#