# FlightMonitor/data/data_constants.py """ Defines shared constants for the data layer, such as message types and status codes, to prevent circular dependencies between modules. """ # Common name for the data provider PROVIDER_NAME_OPENSKY = "OpenSkyNetwork" # --- Adapter Message Types --- # Defines the 'type' key in the messages passed through the queues. MSG_TYPE_FLIGHT_DATA = "flight_data" MSG_TYPE_ADAPTER_STATUS = "adapter_status" # --- Adapter Status Codes --- # Defines the 'status_code' for status messages. STATUS_STARTING = "STARTING" STATUS_FETCHING = "FETCHING" STATUS_STOPPING = "STOPPING" STATUS_STOPPED = "STOPPED" STATUS_RECOVERED = "RECOVERED" STATUS_RATE_LIMITED = "RATE_LIMITED" STATUS_API_ERROR_TEMPORARY = "API_ERROR_TEMPORARY" STATUS_PERMANENT_FAILURE = "PERMANENT_FAILURE" # --- Backoff Strategy Constants for Adapters --- INITIAL_BACKOFF_DELAY_SECONDS = 20.0 MAX_BACKOFF_DELAY_SECONDS = 300.0 BACKOFF_FACTOR = 1.8 MAX_CONSECUTIVE_ERRORS_THRESHOLD = 5