Member Junction
    Preparing search index...

    Centralized utility for executing long-running GraphQL mutations using the fire-and-forget pattern. This avoids Azure's ~230s HTTP proxy timeout by returning immediately from the HTTP request and delivering results via WebSocket PubSub subscriptions.

    1. Subscribes to PubSub updates for the current session
    2. Sends the mutation with fireAndForget: true
    3. Server validates, starts background work, returns ACK immediately
    4. Client waits for a matching completion event via WebSocket, kept alive by an idle timer that resets on every message (including the server's ~5min liveness pulse)
    5. On idle expiry or stream drop, an optional reconciliation hook checks the authoritative run record to decide resolve / continue / reject
    const result = await FireAndForgetHelper.Execute<RunTestResult>({
    dataProvider: this._dataProvider,
    mutation: runTestMutation,
    variables: { testId: '...', fireAndForget: true },
    mutationFieldName: 'RunTest',
    validateAck: (ack) => ack?.success === true,
    isCompletionEvent: (parsed) =>
    parsed.resolver === 'RunTestResolver' &&
    parsed.data?.type === 'complete' &&
    parsed.data?.testId === testId,
    extractResult: (parsed) => parseTestResult(parsed.data),
    createErrorResult: (msg) => ({ success: false, errorMessage: msg, result: null }),
    });
    Index

    Constructors

    Methods

    Constructors

    Methods