import { TransactionalConnection } from '../../connection/transactional-connection'; import { ScheduledTask } from '../../scheduler'; /** * @description * This service finds and cleans stale locks, which can occur if a worker instance is * non-gracefully shut down while a task is ongoing, and the lock is never released. * * Failure to clean these stale locks will prevent the task from ever running again, since * workers will assume it is locked by another processes and will ignore it. */ export declare class StaleTaskService { private connection; private taskIntervalMap; constructor(connection: TransactionalConnection); /** * @description * Cleans stale task locks from the database. */ cleanStaleLocksForTask(task: ScheduledTask): Promise; private fetchLockedTask; /** * Returns the interval in ms between one run of the task, and the next. */ private getScheduleIntervalMs; private isStale; private clearStaleLock; }