n8n
Version:
n8n Workflow Automation Tool
59 lines (58 loc) • 2.48 kB
TypeScript
import { GlobalConfig } from '@n8n/config';
import { ErrorReporter, InstanceSettings, Logger } from 'n8n-core';
import { ActiveExecutions } from '../active-executions';
import { ExecutionRepository } from '../databases/repositories/execution.repository';
import { EventService } from '../events/event.service';
import { OrchestrationService } from '../services/orchestration.service';
import { JobProcessor } from './job-processor';
import type { Job, JobData, JobStatus, JobId } from './scaling.types';
export declare class ScalingService {
private readonly logger;
private readonly errorReporter;
private readonly activeExecutions;
private readonly jobProcessor;
private readonly globalConfig;
private readonly executionRepository;
private readonly instanceSettings;
private readonly orchestrationService;
private readonly eventService;
private queue;
constructor(logger: Logger, errorReporter: ErrorReporter, activeExecutions: ActiveExecutions, jobProcessor: JobProcessor, globalConfig: GlobalConfig, executionRepository: ExecutionRepository, instanceSettings: InstanceSettings, orchestrationService: OrchestrationService, eventService: EventService);
setupQueue(): Promise<void>;
setupWorker(concurrency: number): void;
private reportJobProcessingError;
stop(): Promise<void>;
private pauseQueue;
private stopMain;
private stopWorker;
pingQueue(): Promise<void>;
getPendingJobCounts(): Promise<{
active: number;
waiting: number;
}>;
addJob(jobData: JobData, { priority }: {
priority: number;
}): Promise<import("bull").Job<JobData>>;
getJob(jobId: JobId): Promise<import("bull").Job<JobData> | null>;
findJobsByStatus(statuses: JobStatus[]): Promise<import("bull").Job<JobData>[]>;
stopJob(job: Job): Promise<boolean>;
getRunningJobsCount(): number;
private registerListeners;
private registerWorkerListeners;
private registerMainOrWebhookListeners;
private isJobMessage;
private decodeWebhookResponse;
private assertQueue;
private assertWorker;
private readonly jobCounters;
private queueMetricsInterval;
get isQueueMetricsEnabled(): boolean;
private scheduleQueueMetrics;
private stopQueueMetrics;
private readonly queueRecoveryContext;
private scheduleQueueRecovery;
private stopQueueRecovery;
private recoverFromQueue;
private toErrorMsg;
private hasValidJobData;
}