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

abstractmethod 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

parent_server: Server

SiLA Server serving this feature implementation