n8n
Version:
n8n Workflow Automation Tool
18 lines (17 loc) • 1.35 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import { GlobalConfig } from '@n8n/config';
import { DataSource, ScheduledJobRepository, ScheduledTaskRepository } from '@n8n/db';
import type { RunInTransaction, Scheduler, TaskHandler } from '@n8n/scheduler';
import { InstanceSettings, Tracing } from 'n8n-core';
import { PrometheusSchedulerMetricsService } from '../metrics/prometheus/scheduler-metrics.service';
import { PollTriggerTaskHandler } from './poll-trigger-node/poll-trigger-task-handler';
import { ScheduleTriggerTaskHandler } from './schedule-trigger-node/schedule-trigger-task-handler';
export declare class DurableScheduler implements Scheduler {
private readonly logger;
private readonly scheduler;
constructor(logger: Logger, dataSource: DataSource, jobs: ScheduledJobRepository, tasks: ScheduledTaskRepository, instanceSettings: InstanceSettings, globalConfig: GlobalConfig, tracing: Tracing, scheduleTriggerTaskHandler: ScheduleTriggerTaskHandler, pollTriggerTaskHandler: PollTriggerTaskHandler, metrics: PrometheusSchedulerMetricsService);
registerTaskHandler(taskType: string, handler: TaskHandler): void;
start(): void;
stop(): Promise<void>;
}
export declare function buildMaterializerTransaction(dataSource: DataSource, jobs: ScheduledJobRepository, tasks: ScheduledTaskRepository): RunInTransaction;