Skip to main content

Class: TemporalService

Defined in: src/services/temporal.service.ts:44

Main unified service for Temporal operations Provides a single interface to access all Temporal functionality

Implements​

  • OnModuleInit
  • OnModuleDestroy

Constructors​

Constructor​

new TemporalService(options, clientService, workerService, scheduleService, discoveryService, metadataAccessor): TemporalService

Defined in: src/services/temporal.service.ts:49

Parameters​

options​

TemporalOptions

clientService​

TemporalClientService

workerService​

TemporalWorkerManagerService

scheduleService​

TemporalScheduleService

discoveryService​

TemporalDiscoveryService

metadataAccessor​

TemporalMetadataAccessor

Returns​

TemporalService

Accessors​

activity​

Get Signature​

get activity(): TemporalDiscoveryService

Defined in: src/services/temporal.service.ts:999

Get the discovery service instance (for activities)

Returns​

TemporalDiscoveryService


client​

Get Signature​

get client(): TemporalClientService

Defined in: src/services/temporal.service.ts:975

Get the client service instance

Returns​

TemporalClientService


discovery​

Get Signature​

get discovery(): TemporalDiscoveryService

Defined in: src/services/temporal.service.ts:1007

Get the discovery service instance

Returns​

TemporalDiscoveryService


metadata​

Get Signature​

get metadata(): TemporalMetadataAccessor

Defined in: src/services/temporal.service.ts:1015

Get the metadata accessor instance

Returns​

TemporalMetadataAccessor


schedule​

Get Signature​

get schedule(): TemporalScheduleService

Defined in: src/services/temporal.service.ts:991

Get the schedule service instance

Returns​

TemporalScheduleService


worker​

Get Signature​

get worker(): TemporalWorkerManagerService

Defined in: src/services/temporal.service.ts:983

Get the worker service instance

Returns​

TemporalWorkerManagerService

Methods​

cancelWorkflow()​

cancelWorkflow(workflowId): Promise<WorkflowCancellationResult>

Defined in: src/services/temporal.service.ts:373

Cancel a workflow

Parameters​

workflowId​

string

Returns​

Promise<WorkflowCancellationResult>


deleteSchedule()​

deleteSchedule(scheduleId): Promise<ScheduleOperationResult>

Defined in: src/services/temporal.service.ts:415

Delete a schedule by id.

Parameters​

scheduleId​

string

Returns​

Promise<ScheduleOperationResult>


executeActivity()​

executeActivity<T>(name, ...args): Promise<ActivityExecutionResult<T>>

Defined in: src/services/temporal.service.ts:545

Execute an activity

Type Parameters​

T​

T = unknown

Parameters​

name​

string

args​

...unknown[]

Returns​

Promise<ActivityExecutionResult<T>>


extractActivityMethods()​

extractActivityMethods(target): ActivityMethodInfo[]

Defined in: src/services/temporal.service.ts:643

Extract activity methods from a class

Parameters​

target​

Function

Returns​

ActivityMethodInfo[]


getActivity()​

getActivity(name): Function | undefined

Defined in: src/services/temporal.service.ts:576

Get activity by name

Parameters​

name​

string

Returns​

Function | undefined


getActivityMetadata()​

getActivityMetadata(target): MetadataInfo | null

Defined in: src/services/temporal.service.ts:635

Get activity metadata

Parameters​

target​

Function

Returns​

MetadataInfo | null


getActivityNames()​

getActivityNames(): string[]

Defined in: src/services/temporal.service.ts:600

Get activity names

Returns​

string[]


getAllActivities()​

getAllActivities(): Record<string, Function>

Defined in: src/services/temporal.service.ts:584

Get all activities

Returns​

Record<string, Function>


getAllWorkers()​

getAllWorkers(): MultipleWorkersInfo | null

Defined in: src/services/temporal.service.ts:486

Get all workers information (for multiple workers setup)

Returns​

MultipleWorkersInfo | null


getHealth()​

getHealth(): object

Defined in: src/services/temporal.service.ts:741

Get comprehensive health status

Returns​

object

isInitialized​

isInitialized: boolean

namespace​

namespace: string

services​

services: object

services.activity​

activity: ServiceHealth

services.client​

client: ServiceHealth

services.discovery​

discovery: ServiceHealth

services.schedule​

schedule: ServiceHealth

services.worker​

worker: ServiceHealth

status​

status: "healthy" | "unhealthy" | "degraded"

summary​

summary: object

summary.clientConnected​

clientConnected: boolean

summary.totalActivities​

totalActivities: number

summary.totalSchedules​

totalSchedules: number

summary.workerRunning​

workerRunning: boolean


getOverallHealth()​

getOverallHealth(): Promise<OverallHealthStatus>

Defined in: src/services/temporal.service.ts:650

Get overall health status (async version for compatibility)

Returns​

Promise<OverallHealthStatus>


getStats()​

getStats(): ServiceStatistics

Defined in: src/services/temporal.service.ts:807

Get service statistics

Returns​

ServiceStatistics


getWorker()​

getWorker(taskQueue): Worker | null

Defined in: src/services/temporal.service.ts:475

Get a specific worker by task queue (for multiple workers setup)

Parameters​

taskQueue​

string

Returns​

Worker | null


getWorkerHealth()​

getWorkerHealth(): Promise<{ details?: WorkerStatus; status: "healthy" | "unhealthy" | "degraded" | "not_available"; }>

Defined in: src/services/temporal.service.ts:701

Get worker health status

Returns​

Promise<{ details?: WorkerStatus; status: "healthy" | "unhealthy" | "degraded" | "not_available"; }>


getWorkerManager()​

getWorkerManager(): TemporalWorkerManagerService

Defined in: src/services/temporal.service.ts:468

Get the worker manager service (provides access to getConnection())

Returns​

TemporalWorkerManagerService


getWorkerStatus()​

getWorkerStatus(): WorkerStatus | null

Defined in: src/services/temporal.service.ts:457

Get worker status

Returns​

WorkerStatus | null


getWorkerStatusByTaskQueue()​

getWorkerStatusByTaskQueue(taskQueue): WorkerStatus | null

Defined in: src/services/temporal.service.ts:497

Get worker status for a specific task queue (for multiple workers setup)

Parameters​

taskQueue​

string

Returns​

WorkerStatus | null


getWorkflowHandle()​

getWorkflowHandle<T>(workflowId, runId?): Promise<T>

Defined in: src/services/temporal.service.ts:338

Get workflow handle

Type Parameters​

T​

T = unknown

Parameters​

workflowId​

string

runId?​

string

Returns​

Promise<T>


hasActivity()​

hasActivity(name): boolean

Defined in: src/services/temporal.service.ts:592

Check if activity exists

Parameters​

name​

string

Returns​

boolean


hasWorker()​

hasWorker(): boolean

Defined in: src/services/temporal.service.ts:450

Check if worker is available

Returns​

boolean


isActivity()​

isActivity(target): boolean

Defined in: src/services/temporal.service.ts:608

Check if a class is an activity

Parameters​

target​

Function

Returns​

boolean


isActivityMethod()​

isActivityMethod(target, methodName): boolean

Defined in: src/services/temporal.service.ts:615

Check if a method is an activity method

Parameters​

target​

object

methodName​

string

Returns​

boolean


isWorkerRunning()​

isWorkerRunning(): boolean

Defined in: src/services/temporal.service.ts:439

Check if worker is running

Returns​

boolean


onModuleDestroy()​

onModuleDestroy(): Promise<void>

Defined in: src/services/temporal.service.ts:109

Cleanup on module destroy

Returns​

Promise<void>

Implementation of​

OnModuleDestroy.onModuleDestroy


onModuleInit()​

onModuleInit(): Promise<TemporalServiceInitResult>

Defined in: src/services/temporal.service.ts:68

Initialize the unified service

Returns​

Promise<TemporalServiceInitResult>

Implementation of​

OnModuleInit.onModuleInit


queryWorkflow()​

queryWorkflow<T>(workflowId, queryName, args?): Promise<WorkflowQueryResult<T>>

Defined in: src/services/temporal.service.ts:303

Query a workflow

Type Parameters​

T​

T = unknown

Parameters​

workflowId​

string

queryName​

string

args?​

unknown[]

Returns​

Promise<WorkflowQueryResult<T>>


registerWorker()​

registerWorker(workerDef): Promise<CreateWorkerResult>

Defined in: src/services/temporal.service.ts:530

Register and create a new worker dynamically at runtime

Parameters​

workerDef​

WorkerDefinition

Returns​

Promise<CreateWorkerResult>


signalWithStart()​

signalWithStart(workflowType, signalName, signalArgs, workflowArgs, options?): Promise<WorkflowSignalResult>

Defined in: src/services/temporal.service.ts:268

Atomically start a workflow and send a signal to it. If the workflow is already running, only the signal is delivered.

Returns a structured WorkflowSignalResult (unlike the lower-level TemporalClientService.signalWithStart, which returns the raw handle).

Parameters​

workflowType​

string

signalName​

string

signalArgs​

unknown[]

workflowArgs​

unknown[]

options?​

WorkflowStartOptions

Returns​

Promise<WorkflowSignalResult>

Example​

Idempotent "ensure running + signal"

const result = await temporalService.signalWithStart(
'cartWorkflow',
'addItem',
[{ sku: 'SKU-123', qty: 2 }],
[userId],
{ workflowId: `cart-${userId}`, taskQueue: 'carts' },
);

if (result.success) {
this.logger.log(`Signal '${result.signalName}' delivered to ${result.workflowId}`);
}

signalWorkflow()​

signalWorkflow(workflowId, signalName, args?): Promise<WorkflowSignalResult>

Defined in: src/services/temporal.service.ts:219

Signal a workflow

Parameters​

workflowId​

string

signalName​

string

args?​

unknown[]

Returns​

Promise<WorkflowSignalResult>


startWorker()​

startWorker(): Promise<void>

Defined in: src/services/temporal.service.ts:423

Start the worker

Returns​

Promise<void>


startWorkerByTaskQueue()​

startWorkerByTaskQueue(taskQueue): Promise<void>

Defined in: src/services/temporal.service.ts:508

Start a specific worker by task queue (for multiple workers setup)

Parameters​

taskQueue​

string

Returns​

Promise<void>


startWorkflow()​

startWorkflow<T>(workflowType, args?, options?): Promise<WorkflowExecutionResult<T>>

Defined in: src/services/temporal.service.ts:189

Start a workflow execution

Type Parameters​

T​

T = unknown

Parameters​

workflowType​

string

args?​

unknown[]

options?​

WorkflowStartOptions

Returns​

Promise<WorkflowExecutionResult<T>>


stopWorker()​

stopWorker(): Promise<void>

Defined in: src/services/temporal.service.ts:431

Stop the worker

Returns​

Promise<void>


stopWorkerByTaskQueue()​

stopWorkerByTaskQueue(taskQueue): Promise<void>

Defined in: src/services/temporal.service.ts:519

Stop a specific worker by task queue (for multiple workers setup)

Parameters​

taskQueue​

string

Returns​

Promise<void>


terminateWorkflow()​

terminateWorkflow(workflowId, reason?): Promise<WorkflowTerminationResult>

Defined in: src/services/temporal.service.ts:347

Terminate a workflow

Parameters​

workflowId​

string

reason?​

string

Returns​

Promise<WorkflowTerminationResult>


updateSchedule()​

updateSchedule(scheduleId, updateFn): Promise<ScheduleOperationResult>

Defined in: src/services/temporal.service.ts:404

Update an existing schedule. updateFn receives the current description and returns the new desired options.

Parameters​

scheduleId​

string

updateFn​

(previous) => ScheduleUpdateOptions

Returns​

Promise<ScheduleOperationResult>


upsertSchedule()​

upsertSchedule(options): Promise<ScheduleUpsertResult>

Defined in: src/services/temporal.service.ts:395

Create a schedule, or update it in place if scheduleId already exists. Safe to call on every app start.

Parameters​

options​

ScheduleCreationOptions

Returns​

Promise<ScheduleUpsertResult>