Class: TemporalScheduleService
Defined in: src/services/temporal-schedule.service.ts:50
Service for managing Temporal schedules including creating, updating, and monitoring scheduled workflows
Implements
OnModuleInitOnModuleDestroy
Constructors
Constructor
new TemporalScheduleService(
options,client,discoveryService,metadataAccessor):TemporalScheduleService
Defined in: src/services/temporal-schedule.service.ts:56
Parameters
options
client
Client | null
discoveryService
DiscoveryService
metadataAccessor
Returns
TemporalScheduleService
Methods
createSchedule()
createSchedule(
options):Promise<ScheduleCreationResult>
Defined in: src/services/temporal-schedule.service.ts:516
Create a new schedule
Parameters
options
Returns
Promise<ScheduleCreationResult>
deleteSchedule()
deleteSchedule(
scheduleId):Promise<ScheduleOperationResult>
Defined in: src/services/temporal-schedule.service.ts:738
Delete a schedule.
Parameters
scheduleId
string
Returns
Promise<ScheduleOperationResult>
Example
await scheduleService.deleteSchedule('daily-report');
describeSchedule()
describeSchedule(
scheduleId):Promise<ScheduleDescribeResult>
Defined in: src/services/temporal-schedule.service.ts:802
Describe a schedule, returning its current configuration and state.
Parameters
scheduleId
string
Returns
Promise<ScheduleDescribeResult>
Example
const { description } = await scheduleService.describeSchedule('daily-report');
console.log(description?.state.paused);
getHealth()
getHealth():
ScheduleServiceHealth
Defined in: src/services/temporal-schedule.service.ts:886
Get service health status
Returns
getSchedule()
getSchedule(
scheduleId):Promise<ScheduleRetrievalResult>
Defined in: src/services/temporal-schedule.service.ts:607
Get a schedule handle
Parameters
scheduleId
string
Returns
Promise<ScheduleRetrievalResult>
getScheduleStats()
getScheduleStats():
ScheduleServiceStats
Defined in: src/services/temporal-schedule.service.ts:861
Get schedule statistics
Returns
getStatus()
getStatus():
ScheduleServiceStatus
Defined in: src/services/temporal-schedule.service.ts:874
Get service status
Returns
isHealthy()
isHealthy():
boolean
Defined in: src/services/temporal-schedule.service.ts:854
Check if service is healthy
Returns
boolean
listSchedules()
listSchedules(
options?):ScheduleListResult
Defined in: src/services/temporal-schedule.service.ts:832
List schedules in the namespace, wrapped in a result envelope so callers can distinguish "schedule client unavailable" from "no schedules found".
Parameters
options?
Returns
Example
const { schedules } = scheduleService.listSchedules();
for await (const schedule of schedules ?? []) {
console.log(schedule.scheduleId);
}
onModuleDestroy()
onModuleDestroy():
Promise<void>
Defined in: src/services/temporal-schedule.service.ts:143
Cleanup on module destroy
Returns
Promise<void>
Implementation of
OnModuleDestroy.onModuleDestroy
onModuleInit()
onModuleInit():
Promise<void>
Defined in: src/services/temporal-schedule.service.ts:120
Initialize the schedule service
Returns
Promise<void>
Implementation of
OnModuleInit.onModuleInit
pauseSchedule()
pauseSchedule(
scheduleId,note?):Promise<ScheduleOperationResult>
Defined in: src/services/temporal-schedule.service.ts:654
Pause a schedule so it no longer takes actions.
Parameters
scheduleId
string
note?
string
Returns
Promise<ScheduleOperationResult>
Example
await scheduleService.pauseSchedule('daily-report', 'investigating an incident');
triggerSchedule()
triggerSchedule(
scheduleId,overlapPolicy?):Promise<ScheduleOperationResult>
Defined in: src/services/temporal-schedule.service.ts:708
Trigger an immediate action for a schedule, outside its normal specification.
Parameters
scheduleId
string
overlapPolicy?
ScheduleOverlapPolicy
Returns
Promise<ScheduleOperationResult>
Example
await scheduleService.triggerSchedule('daily-report', 'ALLOW_ALL');
unpauseSchedule()
unpauseSchedule(
scheduleId,note?):Promise<ScheduleOperationResult>
Defined in: src/services/temporal-schedule.service.ts:681
Unpause a schedule, resuming its actions.
Parameters
scheduleId
string
note?
string
Returns
Promise<ScheduleOperationResult>
Example
await scheduleService.unpauseSchedule('daily-report');
updateSchedule()
updateSchedule(
scheduleId,updateFn):Promise<ScheduleOperationResult>
Defined in: src/services/temporal-schedule.service.ts:771
Update a schedule's definition. updateFn receives the current description
and must return the new desired schedule options — mirrors the SDK's
describe-then-transform ScheduleHandle.update() pattern.
Parameters
scheduleId
string
updateFn
(previous) => ScheduleUpdateOptions
Returns
Promise<ScheduleOperationResult>
Example
await scheduleService.updateSchedule('daily-report', (previous) => ({
...previous,
spec: { ...previous.spec, cronExpressions: ['0 9 * * *'] },
}));
upsertSchedule()
upsertSchedule(
options):Promise<ScheduleUpsertResult>
Defined in: src/services/temporal-schedule.service.ts:555
Create a schedule, or update it in place if a schedule with the same
scheduleId already exists — avoids the SDK's ScheduleAlreadyRunning
error on repeated bootstraps (e.g. registering schedules on every app start).
Parameters
options
Returns
Promise<ScheduleUpsertResult>
Example
await scheduleService.upsertSchedule({
scheduleId: 'daily-report',
spec: { cronExpressions: ['0 9 * * *'] },
action: { type: 'startWorkflow', workflowType: 'sendDailyReport', taskQueue: 'reports' },
});