n8n
Version:
n8n Workflow Automation Tool
38 lines (37 loc) • 1.8 kB
TypeScript
import { ActiveExecutions } from '../ActiveExecutions';
import { Logger } from '../Logger';
import { JobProcessor } from './job-processor';
import type { Job, JobData, JobOptions, JobStatus, JobId } from './types';
import { GlobalConfig } from '@n8n/config';
import { ExecutionRepository } from '../databases/repositories/execution.repository';
import { InstanceSettings } from 'n8n-core';
import { OrchestrationService } from '../services/orchestration.service';
export declare class ScalingService {
private readonly logger;
private readonly activeExecutions;
private readonly jobProcessor;
private readonly globalConfig;
private readonly executionRepository;
private readonly instanceSettings;
private readonly orchestrationService;
private queue;
private readonly instanceType;
constructor(logger: Logger, activeExecutions: ActiveExecutions, jobProcessor: JobProcessor, globalConfig: GlobalConfig, executionRepository: ExecutionRepository, instanceSettings: InstanceSettings, orchestrationService: OrchestrationService);
setupQueue(): Promise<void>;
setupWorker(concurrency: number): void;
stop(): Promise<void>;
pingQueue(): Promise<void>;
addJob(jobData: JobData, jobOptions: JobOptions): 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 decodeWebhookResponse;
private assertWorker;
private readonly queueRecoveryContext;
scheduleQueueRecovery(waitMs?: number): void;
stopQueueRecovery(): void;
private recoverFromQueue;
private toErrorMsg;
}