labscheduler.sila_server.generated.schedulingservice.schedulingservice_base module¶
- class labscheduler.sila_server.generated.schedulingservice.schedulingservice_base.SchedulingServiceBase(parent_server: Server)[source]¶
Bases:
FeatureImplementationBase,ABC- abstractmethod ComputeSchedule(WorkflowGraph: Any, MaxComputationTime: float, *, metadata: MetadataDict, instance: ObservableCommandInstance) ComputeSchedule_Responses[source]¶
Takes a workflow graph (see parameter description) and computes a schedule for the currently configured lab
environment(LabConfigurationController) with the currently selected algorithm. You have to give the maximum computation time.
- param WorkflowGraph:
The workflow graph of an experiment in the required SiLA structure.
- param MaxComputationTime:
Maximum computation time in seconds
- param metadata:
The SiLA Client Metadata attached to the call
- param instance:
The command instance, enabling sending status updates to subscribed clients
- return:
Result: Returns the computed schedule together with a string whether the schedule is optimal, feasible or infeasible.
- ComputeSchedule_default_lifetime_of_execution: timedelta | None¶
- abstractmethod SelectAlgorithm(AlgorithmName: str, *, metadata: MetadataDict) SelectAlgorithm_Responses[source]¶
Selects the algorithm to be used in the ComputeSchedule command
- Parameters:
AlgorithmName – Name of the Algorithm
metadata – The SiLA Client Metadata attached to the call
- _abc_impl = <_abc._abc_data object>¶
- abstractmethod get_AvailableAlgorithms(*, metadata: MetadataDict) List[Any][source]¶
List of algorithm info for all available algorithms
- Parameters:
metadata – The SiLA Client Metadata attached to the call
- Returns:
List of algorithm info for all available algorithms