import { DyNTS_SingletonServiceBase } from '../../_services/base/singleton.service-base'; import { DyNTS_ScheduledJob, DyNTS_ScheduledJobRun } from './_models/scheduler-job.interface'; /** * Altalanos, idozitett-job utemzo a DyNTS szerverekhez. * * - **Regisztralhato**: `registerJob({ key, intervalMs, handler })`. * - **Idempotens / skip-if-running**: egy job-bol egyszerre csak egy futas megy * (a lassu futas nem torlodik fel). * - **Restart-biztos**: a scheduler NEM perzisztal futasi allapotot — a helyesseget * a handler igazsagforras-timestampjei adjak (lasd DyNTS_ScheduledJob doc). * - **Naplo**: az utolso N futas in-memory ring bufferben (`getRuns()`), hiba eseten * rich hibauzenettel (sosem `[object Object]`). * * Hasznalat (szerver indulasakor): * const scheduler = DyNTS_Scheduler_Service.getInstance(); * scheduler.registerJob({ key: 'sp-auto-accept', intervalMs: 24 * 60 * 60 * 1000, handler }); * scheduler.start(); */ export declare class DyNTS_Scheduler_Service extends DyNTS_SingletonServiceBase { static getInstance(): DyNTS_Scheduler_Service; private readonly jobs; private readonly runs; private readonly maxRuns; private started; /** * Job regisztralasa. Ha a scheduler mar el (`start()` lefutott), a job timer-e * azonnal elindul. Duplikalt kulcs / hibas intervalMs eseten hibat dob. */ registerJob(job: DyNTS_ScheduledJob): void; /** Job leiratkoztatasa + eltavolitasa. Ismeretlen kulcs eseten no-op. */ unregisterJob(key: string): void; /** Minden regisztralt job timer-enek inditasa. Idempotens. */ start(): void; /** Minden job timer-enek leallitasa (a regisztraciok megmaradnak). */ stop(): void; /** Egy job azonnali, kezi futtatasa (a skip-if-running lock-ot tiszteletben tartva). */ runNow(key: string): Promise; /** El van-e inditva a scheduler. */ isStarted(): boolean; /** Eppen fut-e az adott job. */ isRunning(key: string): boolean; /** A regisztralt job-kulcsok. */ getJobKeys(): string[]; /** Az utolso N futas, legujabb elol. */ getRuns(limit?: number): DyNTS_ScheduledJobRun[]; /** Teszt-segedlet: minden timer leall + minden regisztracio/naplo torlodik. */ _resetForTesting(): void; private startJob; private executeJob; private pushRun; private toErrorMessage; private logError; } //# sourceMappingURL=scheduler.service.d.ts.map