import { JobProgressStates, OnTimerJobProgressDTO } from '../../../common/entities/job/JobProgressDTO'; import { IJob } from './jobs/IJob'; import { JobScheduleDTO } from '../../../common/entities/job/JobScheduleDTO'; import { IJobListener } from './jobs/IJobListener'; import { JobProgress } from './jobs/JobProgress'; import { JobProgressManager } from './JobProgressManager'; import { IObjectManager } from '../database/IObjectManager'; export declare class JobManager implements IJobListener, IObjectManager { protected timers: { schedule: JobScheduleDTO; timer: NodeJS.Timeout; }[]; protected progressManager: JobProgressManager; protected get JobRunning(): boolean; protected get JobNoParallelRunning(): boolean; init(): Promise; getProgresses(): { [id: string]: OnTimerJobProgressDTO; }; run>(jobName: string, config: T, soloRun: boolean, allowParallelRun: boolean): Promise; stop(jobName: string): void; onProgressUpdate: (progress: JobProgress) => void; onJobFinished: (job: IJob, state: JobProgressStates, soloRun: boolean) => Promise; getAvailableJobs(): IJob[]; cleanUp(): Promise; stopSchedules(): void; /** * Schedules all jobs to run */ runSchedules(): void; protected findJob(jobName: string): IJob; /** * Schedules a single job to run */ private runSchedule; }