Developer Docs
API Reference
Services
Stage Transition
Classes
Class: StageTransitionService

web


web / lib/services/stage-transition / StageTransitionService

Class: StageTransitionService

Service to handle stage transitions atomically

Constructors

Constructor

new StageTransitionService(): StageTransitionService

Returns

StageTransitionService

Methods

validateStageTransition()

static validateStageTransition(fromStage, toStage): boolean

Validate stage transition

Parameters

fromStage

string

toStage

string

Returns

boolean


processStageTransition()

static processStageTransition(payload, job, previousJob): Promise<StageTransitionResult>

Process stage transition and queue appropriate jobs atomically

Parameters

payload

BasePayload

job

ImportJob

previousJob

undefined | ImportJob

Returns

Promise<StageTransitionResult>


isTransitioning()

static isTransitioning(jobId, fromStage?, toStage?): boolean

Check if a transition is currently being processed

Parameters

jobId

string

fromStage?

string

toStage?

string

Returns

boolean


getTransitioningCount()

static getTransitioningCount(): number

Get currently transitioning job count (for monitoring)

Returns

number


clearTransitionLocks()

static clearTransitionLocks(): void

Force clear transition locks (for emergency situations)

Returns

void


cleanupOldLocks()

static cleanupOldLocks(): number

Clean up old transition locks (for transitions completed over 5 minutes ago)

Returns

number


cleanupTask()

static cleanupTask(): Promise<{ output: { cleaned: number; }; }>

Cleanup task handler for Payload jobs This should be registered as a Payload task with a schedule

Returns

Promise<{ output: { cleaned: number; }; }>