Interface IJobParameters<DATA>

interface IJobParameters<DATA = unknown | void> {
    _id?: ObjectId;
    data: DATA;
    disabled?: boolean;
    failCount?: number;
    failedAt?: Date;
    failReason?: string;
    fork?: boolean;
    lastFinishedAt?: Date;
    lastModifiedBy?: string;
    lastRunAt?: Date;
    lockedAt?: Date;
    name: string;
    nextRunAt: null | Date;
    priority: number;
    progress?: number;
    repeatAt?: string;
    repeatInterval?: string | number;
    repeatTimezone?: string;
    type: "normal" | "single";
    unique?: Filter<Omit<IJobParameters<DATA>, "unique">>;
    uniqueOpts?: { insertOnly: boolean };
}

Type Parameters

  • DATA = unknown | void

Properties

_id?: ObjectId
data: DATA
disabled?: boolean
failCount?: number
failedAt?: Date
failReason?: string
fork?: boolean

forks a new node sub process for executing this job

lastFinishedAt?: Date
lastModifiedBy?: string
lastRunAt?: Date
lockedAt?: Date
name: string
nextRunAt: null | Date
priority: number
progress?: number
repeatAt?: string
repeatInterval?: string | number
repeatTimezone?: string
type: "normal" | "single"

normal: job is queued and will be processed (regular case when the user adds a new job) single: job with this name is only queued once, if there is an exisitn gentry in the database, the job is just updated, but not newly inserted (this is used for .every())

unique?: Filter<Omit<IJobParameters<DATA>, "unique">>
uniqueOpts?: { insertOnly: boolean }