labscheduler.sila_server.feature_implementations.schedulingservice_impl module¶
- class labscheduler.sila_server.feature_implementations.schedulingservice_impl.SchedulingServiceImpl(parent_server: Server, scheduler_interface: SchedulerInterface)[source]¶
Bases:
SchedulingServiceBase- ComputeSchedule(WorkflowGraph: WorkflowGraph, 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.
- 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>¶
- get_AvailableAlgorithms(*, metadata: MetadataDict) list[AlgorithmMetaData][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
- get_CurrentAlgorithm(*, metadata: MetadataDict) AlgorithmMetaData[source]¶
The currently selected algorithm
- Parameters:
metadata – The SiLA Client Metadata attached to the call
- Returns:
The currently selected algorithm