n8n
Version:
n8n Workflow Automation Tool
40 lines (39 loc) • 1.95 kB
TypeScript
import { Logger } from '@n8n/backend-common';
import { WorkflowsConfig } from '@n8n/config';
import { WorkflowPublicationOutbox, WorkflowPublicationOutboxRepository } from '@n8n/db';
import { ErrorReporter, InstanceSettings, Tracing } from 'n8n-core';
import { EventService } from '../../events/event.service';
import { PublicationStatusReporter } from '../../workflows/publication/publication-status-reporter';
import { WorkflowPublicationLifecycleLock } from '../../workflows/publication/workflow-publication-lifecycle-lock';
import { WorkflowPublicationApplier } from '../../workflows/publication/workflow-publication-applier';
export declare class WorkflowPublicationOutboxConsumer {
private readonly logger;
private readonly workflowsConfig;
private readonly errorReporter;
private readonly outboxRepository;
private readonly applier;
private readonly reporter;
private readonly instanceSettings;
private readonly lifecycleLock;
private readonly tracing;
private readonly eventService;
private pollTimeout;
private isPolling;
private isShuttingDown;
private activeDrain;
constructor(logger: Logger, workflowsConfig: WorkflowsConfig, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, applier: WorkflowPublicationApplier, reporter: PublicationStatusReporter, instanceSettings: InstanceSettings, lifecycleLock: WorkflowPublicationLifecycleLock, tracing: Tracing, eventService: EventService);
init(): Promise<void>;
startPolling(): void;
stopPolling(): void;
shutdown(): Promise<void>;
wakeUp(): Promise<void>;
private schedulePollCycle;
private pollCycle;
drainPending(): Promise<number>;
private runDrain;
private shouldKeepPolling;
private processRecordWithAbort;
private raceTimeout;
processRecord(record: WorkflowPublicationOutbox, signal: AbortSignal): Promise<void>;
private toOutcomeLabels;
}