Member Junction
    Preparing search index...

    Options for a single RecordSetProcessor.Process() invocation.

    interface RecordSetProcessOptions {
        batchSize?: number;
        configuration?: unknown;
        contextUser: UserInfo;
        delayBetweenBatchesMs?: number;
        dryRun?: boolean;
        entityID?: string;
        errorThresholdPercent?: number;
        maxConcurrency?: number;
        maxRecords?: number;
        onAfterBatch?: (
            batch: RecordRef[],
            processed: number,
        ) => Promise<{ continue: boolean; reason?: string }>;
        onProgress?: (progress: ProgressInfo) => void;
        processor: IRecordProcessor;
        provider?: IMetadataProvider;
        rateLimit?: { requestsPerMinute?: number; tokensPerMinute?: number };
        recordProcessID?: string;
        resume?: boolean;
        scheduledJobRunID?: string;
        source: IRecordSetSource;
        tracker?: IProcessRunTracker;
        triggeredBy?: TriggeredByValue;
    }
    Index

    Properties

    batchSize?: number

    Records per batch (default 100).

    configuration?: unknown

    JSON-serializable snapshot of configuration, persisted on the run header.

    contextUser: UserInfo

    The acting user (required).

    delayBetweenBatchesMs?: number

    Delay between batches in milliseconds (default 0).

    dryRun?: boolean

    True when this is a dry-run (compute-only) pass — recorded on the run header so history can distinguish previews from real applies.

    entityID?: string

    Optional target entity ID (otherwise derived from the source).

    errorThresholdPercent?: number

    Error-rate circuit breaker threshold, as a percentage (default 20).

    maxConcurrency?: number

    Maximum records processed concurrently within a batch (default 1).

    maxRecords?: number

    Hard cap on the number of records processed this run.

    onAfterBatch?: (
        batch: RecordRef[],
        processed: number,
    ) => Promise<{ continue: boolean; reason?: string }>

    Budget-gate hook invoked after each batch. Return { continue: false, reason } to pause the run (e.g. when a per-run cost/item budget is exhausted).

    onProgress?: (progress: ProgressInfo) => void

    Progress callback invoked after each batch.

    processor: IRecordProcessor

    The per-record processor (executor).

    The owning provider; defaults to the active provider when omitted.

    rateLimit?: { requestsPerMinute?: number; tokensPerMinute?: number }

    Optional rate-limit applied once per batch before processing.

    recordProcessID?: string

    Optional FK to the originating Record Process definition.

    resume?: boolean

    Whether to resume from a prior checkpoint when one exists (default true).

    scheduledJobRunID?: string

    Optional FK to the owning ScheduledJobRun when launched by the scheduler.

    The record-set source to iterate.

    Persistence tracker (defaults to GenericProcessRunTracker in the engine).

    triggeredBy?: TriggeredByValue

    What triggered the run (default Manual).