UNPKG

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
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; }