labscheduler.sila_server.generated.schedulingservice.schedulingservice_client module

class labscheduler.sila_server.generated.schedulingservice.schedulingservice_client.SchedulingServiceClient[source]

Bases: object

Provides an interface for the PythonLabOrchestrator or any other lab environment to interact with the scheduling module. It provides an observable command to schedule a workflow(exact syntax explained in command). You can choose between different algorithms as get their metadata.

AvailableAlgorithms: ClientUnobservableProperty[list[AlgorithmMetaData]]

List of algorithm info for all available algorithms

ComputeSchedule(WorkflowGraph: WorkflowGraph, MaxComputationTime: float, *, metadata: Iterable[ClientMetadataInstance] | None = None) ClientObservableCommandInstance[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.

CurrentAlgorithm: ClientUnobservableProperty[AlgorithmMetaData]

The currently selected algorithm

SelectAlgorithm(AlgorithmName: str, *, metadata: Iterable[ClientMetadataInstance] | None = None) SelectAlgorithm_Responses[source]

Selects the algorithm to be used in the ComputeSchedule command