laborchestrator.engine.worker_observer module

This class observes running process steps. When delays or errors occur, jobs get finished the WFGManager, WorkerInterface or ScheduleManager are notified accordingly.

class laborchestrator.engine.worker_observer.WorkerObserver(wfg_manager: WFGManager, schedule_manager: ScheduleManager, jssp: SchedulingInstance, worker: BaseWorker)[source]

Bases: object

_get_responses_safe(protocol_info, log_prefix: str = '', log_exception: bool = False) str[source]
_handle_error(job: ProcessStep, protocol_info) None[source]
_handle_finished(step_id: str, job: ProcessStep, protocol_info) None[source]
_handle_running(job: ProcessStep) None[source]
_observe_protocol(step_id: str)[source]
is_delayed_significantly(job: ProcessStep) Tuple[bool, float][source]
jssp: SchedulingInstance
observe()[source]

Master thread :return:

observed_jobs: Set[str]
schedule_manager: ScheduleManager
wfg_manager: WFGManager
worker: BaseWorker