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: 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.
- Parameters:
WorkflowGraph – The workflow graph of an experiment in the required SiLA structure.
MaxComputationTime – Maximum computation time in seconds
metadata – The SiLA Client Metadata attached to the call
instance – The command instance, enabling sending status updates to subscribed clients
- Returns:
A tuple with: - The computed schedule - A string indicating 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
- __is_running: bool¶
- __periodic_funcs: List[Callable[[], None]]¶
- __started: bool¶
- _abc_impl = <_abc._abc_data object>¶
- abstractmethod 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