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.
- 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”
- 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>¶