Skip to content

PURISTA API


PURISTA API / @purista/core / ScheduleDefinition

Type Alias: ScheduleDefinition

ScheduleDefinition = object

Defined in: core/types/schedule/ScheduleDefinition.ts:27

Provider-neutral schedule metadata exported from PURISTA definitions.

PURISTA does not run production schedules. This contract lets external schedulers emit an event, enqueue a queue job, or call a short command.

Example

ts
service
  .getScheduleBuilder('monthlyBillingCycle', 'Monthly billing trigger')
  .emitEvent('billing.monthlyCycleDue', {
    expression: { kind: 'cron', value: '0 2 1 * *', timezone: 'Europe/Berlin' },
  })

Properties

concurrencyPolicy

concurrencyPolicy: ScheduleConcurrencyPolicy

Defined in: core/types/schedule/ScheduleDefinition.ts:38


description?

optional description?: string

Defined in: core/types/schedule/ScheduleDefinition.ts:29


enabledByDefault

enabledByDefault: boolean

Defined in: core/types/schedule/ScheduleDefinition.ts:43


expression

expression: ScheduleExpression

Defined in: core/types/schedule/ScheduleDefinition.ts:36


idempotencyKey?

optional idempotencyKey?: string

Defined in: core/types/schedule/ScheduleDefinition.ts:42


jitterWindowMs?

optional jitterWindowMs?: number

Defined in: core/types/schedule/ScheduleDefinition.ts:41


maxCatchUpCount?

optional maxCatchUpCount?: number

Defined in: core/types/schedule/ScheduleDefinition.ts:40


missedRunPolicy

missedRunPolicy: ScheduleMissedRunPolicy

Defined in: core/types/schedule/ScheduleDefinition.ts:39


name

name: string

Defined in: core/types/schedule/ScheduleDefinition.ts:28


parameterSchema?

optional parameterSchema?: Schema

Defined in: core/types/schedule/ScheduleDefinition.ts:35


payloadSchema?

optional payloadSchema?: Schema

Defined in: core/types/schedule/ScheduleDefinition.ts:34


providerHints?

optional providerHints?: Record<string, unknown>

Defined in: core/types/schedule/ScheduleDefinition.ts:44


targetKind

targetKind: ScheduleTargetKind

Defined in: core/types/schedule/ScheduleDefinition.ts:30


targetName

targetName: string

Defined in: core/types/schedule/ScheduleDefinition.ts:33


targetServiceName?

optional targetServiceName?: string

Defined in: core/types/schedule/ScheduleDefinition.ts:31


targetServiceVersion?

optional targetServiceVersion?: string

Defined in: core/types/schedule/ScheduleDefinition.ts:32


timezone?

optional timezone?: string

Defined in: core/types/schedule/ScheduleDefinition.ts:37