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;
        LastRunAt?: Date;
        MaxConcurrency?: number;
        MaxRecords?: number;
        OnAfterBatch?: (
            batch: RecordRef[],
            processed: number,
        ) => Promise<{ Continue: boolean; Reason?: string }>;
        OnProgress?: (progress: ProgressInfo) => void;
        OverwriteHumanValues?: boolean;
        Processor: IRecordProcessor;
        Provider?: IMetadataProvider;
        RateLimit?: { RequestsPerMinute?: number; TokensPerMinute?: number };
        RecordProcessID?: string;
        Resume?: boolean;
        ScheduledJobRunID?: string;
        SkipUnchanged?: boolean;
        Source: IRecordSetSource;
        Tracker?: IProcessRunTracker;
        TriggeredBy?: TriggeredByValue;
        WatermarkStrategy?: WatermarkStrategyValue;
    }
    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).

    LastRunAt?: Date

    Timestamp of the last run, used for 'UpdatedAt' strategy.

    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.

    OverwriteHumanValues?: boolean

    Overwrite values a person entered (default false); such a run skips no record on its watermark.

    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.

    SkipUnchanged?: boolean

    Whether to skip unchanged records (default false).

    The record-set source to iterate.

    Persistence tracker (defaults to GenericProcessRunTracker in the engine).

    TriggeredBy?: TriggeredByValue

    What triggered the run (default Manual).

    WatermarkStrategy?: WatermarkStrategyValue

    How unchanged records are detected: Checksum, UpdatedAt, or None (default 'Checksum').