Error Handling ============== .. only:: drawio .. drawio-image:: architecture.drawio :page-name: error-handling TicketError (Non-Transient) --------------------------- Raised when alarm record not found in database. These errors indicate data issues that won't resolve with retries. **Action**: Log error, discard message immediately. Transient Errors ---------------- Any other exception (DB connection loss, TTS timeout, network issues). **Action**: Retry with exponential backoff up to ``MAX_RETRIES``. .. list-table:: :header-rows: 1 * - Error Type - Retryable - Action * - ``TicketError`` - No - Log error, discard immediately * - Database connection failure - Yes - Retry with backoff * - TTS API timeout - Yes - Retry with backoff * - Network errors - Yes - Retry with backoff * - Any other exception - Yes - Retry up to ``MAX_RETRIES``, then discard