job-scheduler.d.ts 1.3 KB

123456789101112131415161718192021222324
  1. import { JobSchedulerJson, RepeatBaseOptions, RepeatOptions } from '../interfaces';
  2. import { JobSchedulerTemplateOptions } from '../types';
  3. import { Job } from './job';
  4. import { QueueBase } from './queue-base';
  5. import { RedisConnection } from './redis-connection';
  6. export declare class JobScheduler extends QueueBase {
  7. private repeatStrategy;
  8. constructor(name: string, opts: RepeatBaseOptions, Connection?: typeof RedisConnection);
  9. upsertJobScheduler<T = any, R = any, N extends string = string>(jobSchedulerId: string, repeatOpts: Omit<RepeatOptions, 'key' | 'prevMillis'>, jobName: N, jobData: T, opts: JobSchedulerTemplateOptions, { override, producerId }: {
  10. override: boolean;
  11. producerId?: string;
  12. }): Promise<Job<T, R, N> | undefined>;
  13. private getNextJobOpts;
  14. removeJobScheduler(jobSchedulerId: string): Promise<number>;
  15. private getSchedulerData;
  16. private transformSchedulerData;
  17. private keyToData;
  18. getScheduler<D = any>(id: string): Promise<JobSchedulerJson<D> | undefined>;
  19. private getTemplateFromJSON;
  20. getJobSchedulers<D = any>(start?: number, end?: number, asc?: boolean): Promise<JobSchedulerJson<D>[]>;
  21. getSchedulersCount(): Promise<number>;
  22. private getSchedulerNextJobId;
  23. }
  24. export declare const defaultRepeatStrategy: (millis: number, opts: RepeatOptions) => number | undefined;