Vereda
    Preparing search index...

    Type Alias LifecycleEventMap

    type LifecycleEventMap = {
        request: {
            ticketId: string;
            url: string;
            method: string;
            partition: string;
        };
        retry: {
            ticketId: string;
            url: string;
            partition: string;
            attempt: number;
            delayMs: number;
            error: AppError;
        };
        success: {
            ticketId: string;
            url: string;
            partition: string;
            attempts: number;
            durationMs: number;
            queuedMs: number;
            statusCode: number;
        };
        failure: {
            ticketId: string;
            url: string;
            partition: string
            | undefined;
            attempts: number;
            durationMs: number;
            queuedMs: number;
            error: AppError;
        };
        cancelled: {
            ticketId: string;
            url: string;
            partition: string
            | undefined;
            attempts: number;
            durationMs: number;
            queuedMs: number;
        };
        retryBudgetExhausted: { ticketId: string; url: string; partition: string };
        circuitOpen: { partition: string };
        circuitClose: { partition: string };
    }
    Index
    request: { ticketId: string; url: string; method: string; partition: string }
    retry: {
        ticketId: string;
        url: string;
        partition: string;
        attempt: number;
        delayMs: number;
        error: AppError;
    }

    Zero-based retry index (0 = first retry after the initial attempt). Note: retryWhen's attempt parameter uses a different numbering — 0 = first attempt, 1 = first retry, etc.

    success: {
        ticketId: string;
        url: string;
        partition: string;
        attempts: number;
        durationMs: number;
        queuedMs: number;
        statusCode: number;
    }
    failure: {
        ticketId: string;
        url: string;
        partition: string | undefined;
        attempts: number;
        durationMs: number;
        queuedMs: number;
        error: AppError;
    }

    Type Declaration

    • ticketId: string
    • url: string
    • partition: string | undefined

      undefined only when the URL couldn't be resolved, so no partition was ever chosen (no request event is emitted in that case either).

    • attempts: number
    • durationMs: number
    • queuedMs: number
    • error: AppError
    cancelled: {
        ticketId: string;
        url: string;
        partition: string | undefined;
        attempts: number;
        durationMs: number;
        queuedMs: number;
    }

    Type Declaration

    • ticketId: string
    • url: string
    • partition: string | undefined

      undefined only when the request was cancelled before its URL could be resolved (a pre-aborted signal with an unresolvable URL).

    • attempts: number
    • durationMs: number
    • queuedMs: number
    retryBudgetExhausted: { ticketId: string; url: string; partition: string }

    A retry was refused because the partition's retry budget is spent; the ticket's failure event (with its last error) follows.

    circuitOpen: { partition: string }
    circuitClose: { partition: string }