Event Manager
- class ska_csp_lmc_common.manager.EventManager(device_type: str, task_callback: Callable, health_model: HealthStateModel, op_state_model: OpStateModel, obs_state_model: ObsStateModel | None = None, max_queue_size: int | None = 100, logger: Logger | None = None)
Bases:
BaseEventManager
Aggregator class to manage the event subscriptions.
- __init__(device_type: str, task_callback: Callable, health_model: HealthStateModel, op_state_model: OpStateModel, obs_state_model: ObsStateModel | None = None, max_queue_size: int | None = 100, logger: Logger | None = None)
Initialize the EventManager for the current device.
Handles the subscription and un-subscription of attributes on the CSP sub-system components. It also performs the aggregation of tha main attributes (State, healthState and obsState) of the CSP subordinate sub-systems to evaluate the state of the CSP as a whole.
- Parameters:
logger – The device or python logger if default is None.
- _process_event(evt: CspEvent) None
Handle the event fetched from the queue.
- Parameters:
evt – an object with the event data
- _evaluate_csp_state(evt: CspEvent) None
Evaluate the CSP Device State as aggregation of the state of the subordinate components.
It also re-evaluates the CSP Device healthState that can be affected by the change in the state of one or more CSP sub-system components.
This method relies on the device OpStateModel to perform the aggregation of the CSP sub-systems operational states.
- Parameters:
evt – an object containing the event data.
- _evaluate_csp_obsstate(evt: CspEvent) None
evaluate the CSP Device observing state as aggregation of the observing state of the CSP subordinate sub-systems.
This method relies on the device ObsStateModel to perform the aggregation of the CSP sub-systems observing states.
- Parameters:
evt – the CspEvent received from a subordinate component
- _evaluate_csp_adminmode(evt: CspEvent) None
TBD.
- _evaluate_csp_healthstate(evt: CspEvent) None
Evaluate the CSP Device health state as aggregation of the health state of the CSP subordinate sub-systems.
This method relies on the device HealthStateModel to perform the aggregation of the CSP sub-systems health values.
- Parameters:
evt – the CspEvent received from a subordinate component
- _update_subsystem_attribute(evt: CspEvent)
After an event on a subsystem, update the corresponding attribute on the device
- Parameters:
evt – the CspEvent received from a subordinate component