ConfigDB Watcher

Main entry-point for Configuration Database watcher.

ska_dlm_client.configdb_watcher.main.main()

Control the main execution of the program.

Return type:

None

ska_dlm_client.configdb_watcher.main.process_args(args)

Collect all command line parameters and create an SdpWatcherConfig object.

Return type:

SdpWatcherConfig

async ska_dlm_client.configdb_watcher.main.sdp_to_dlm_ingest_and_migrate(config)

Ingest and migrate SDP data-products using DLM.

Return type:

None

Application to watch the configuration database for Flows and call DLM.

class ska_dlm_client.configdb_watcher.configdb_watcher.DataProductStatusWatcher(config, status, include_existing=True)

AsyncGenerator for fetching existing and updated Flow status events.

Args:

config: configuration database client. status: desired status event. include_existing: first yield existing dataproduct keys with matching status.

ska_dlm_client.configdb_watcher.configdb_watcher.watch_dataproduct_status(config, status, *, include_existing)

Create AsyncGenerator for fetching existing and updated Flow status events.

Args:

config: configuration database client. status: desired status event, e.g., COMPLETED include_existing: first yield existing dataproduct keys with matching status.

Shared helper functions for the ConfigDB dependency lifecycle.

async ska_dlm_client.configdb_watcher.configdb_utils.create_sdp_migration_dependency(config, dataproduct_key)

Create migration dependency (no state yet).

ska_dlm_client.configdb_watcher.configdb_utils.get_pvc_subpath(config, key)

Get the PVC-internal subpath for a data product from the SDP ConfigDB.

Expects Flow.sink.data_dir to be a mapping containing a ‘pvc_subpath’ key.

Return type:

PurePath

Returns:

Path relative to the root of the PVC.

ska_dlm_client.configdb_watcher.configdb_utils.log_configdb_backend_details(config)

Log backend and environment details for the SDP ConfigDB connection.

Return type:

None

ska_dlm_client.configdb_watcher.configdb_utils.log_flow_dependencies(txn, product_key)

Log any flow-level dependencies (locks) for this product (any kind/origin).

Return type:

None

ska_dlm_client.configdb_watcher.configdb_utils.update_dependency_state(txn, dep, status='WORKING')

Create or update the dependency’s state to the given status.

Return type:

None