nestjs-temporal-core
Version:
Complete NestJS integration for Temporal.io with auto-discovery, declarative scheduling, enhanced monitoring, and enterprise-ready features
69 lines (68 loc) • 3.03 kB
TypeScript
import { OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown } from '@nestjs/common';
import { Worker, NativeConnection } from '@temporalio/worker';
import { TemporalOptions, WorkerStatus, WorkerRestartResult, WorkerHealthStatus, WorkerStats, ActivityRegistrationResult, WorkerDefinition, MultipleWorkersInfo, CreateWorkerResult } from '../interfaces';
import { TemporalDiscoveryService } from './temporal-discovery.service';
export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown {
private readonly discoveryService;
private readonly options;
private readonly injectedConnection;
private readonly logger;
private worker;
private restartCount;
private readonly maxRestarts;
private isInitialized;
private isRunning;
private lastError;
private startedAt;
private readonly activities;
private readonly workers;
private connection;
private shutdownPromise;
constructor(discoveryService: TemporalDiscoveryService, options: TemporalOptions, injectedConnection: NativeConnection | null);
onModuleInit(): Promise<void>;
onApplicationBootstrap(): Promise<void>;
beforeApplicationShutdown(signal?: string): Promise<void>;
onModuleDestroy(): Promise<void>;
private initializeMultipleWorkers;
private createWorkerFromDefinition;
registerWorker(workerDef: WorkerDefinition): Promise<CreateWorkerResult>;
getWorker(taskQueue: string): Worker | null;
getAllWorkers(): MultipleWorkersInfo;
getWorkerStatusByTaskQueue(taskQueue: string): WorkerStatus | null;
startWorkerByTaskQueue(taskQueue: string): Promise<void>;
stopWorkerByTaskQueue(taskQueue: string): Promise<void>;
getConnection(): NativeConnection | null;
private getWorkerStatusFromInstance;
private loadActivitiesForWorker;
private getWorkflowSourceFromDef;
startWorker(): Promise<void>;
private runWorkerWithAutoRestart;
private autoRestartWorker;
stopWorker(): Promise<void>;
shutdown(): Promise<void>;
restartWorker(): Promise<WorkerRestartResult>;
getWorkerStatus(): WorkerStatus;
getRegisteredActivities(): Record<string, Function>;
registerActivitiesFromDiscovery(): Promise<ActivityRegistrationResult>;
isWorkerAvailable(): boolean;
isWorkerRunning(): boolean;
getStatus(): WorkerStatus;
getHealthStatus(): WorkerHealthStatus;
getStats(): WorkerStats;
private validateConfiguration;
private getEnvironmentDefaults;
private buildWorkerOptions;
private createConnection;
private createWorker;
private logWorkerConfiguration;
private runWorkerLoop;
private startWorkerInBackground;
private shouldInitializeWorker;
private initializeWorker;
private loadActivitiesFromDiscovery;
private createWorkerConfig;
private shutdownWorker;
private performShutdown;
private getWorkflowSource;
private extractErrorMessage;
}