Source code for gpp_client.directors.scheduler.scheduler
__all__ = ["SchedulerDirector"]
from dataclasses import dataclass
from ..base import BaseDirector
from .coordinators import ProgramCoordinator, ObservationCoordinator
[docs]
@dataclass
class SchedulerDirector(BaseDirector):
"""
Facade for Scheduler-domain workflows.
The director instantiates and exposes coordinator objects that orchestrate
multiple managers to fulfil complex Scheduler-specific tasks. Each coordinator
receives the shared ``GPPClient`` instance injected into this director.
Parameters
----------
client : GPPClient
The low-level API client used by all underlying managers.
Attributes
----------
program : ProgramCoordinator
Coordinates program data tailored to the Scheduler.
"""
def __post_init__(self) -> None:
self.program: ProgramCoordinator = ProgramCoordinator(self.client)
self.observation: ObservationCoordinator = ObservationCoordinator(self.client)