CoordinatedShutdown
이 콘텐츠는 아직 번역되지 않았습니다.
Defined in: src/CoordinatedShutdown.ts:81
Lifecycle coordinator that runs registered tasks in well-known phases.
Ordinary application code calls addTask(phase, name, task); the runtime
guarantees task order across phases and bounded parallelism within a
phase. Task failures are logged and do NOT by default abort the rest of
the pipeline.
Implements
Section titled “Implements”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new CoordinatedShutdown(
system):CoordinatedShutdown
Defined in: src/CoordinatedShutdown.ts:114
Parameters
Section titled “Parameters”system
Section titled “system”Returns
Section titled “Returns”CoordinatedShutdown
Properties
Section titled “Properties”defaultPhaseTimeoutMs
Section titled “defaultPhaseTimeoutMs”defaultPhaseTimeoutMs:
number=DEFAULT_PHASE_TIMEOUT_MS
Defined in: src/CoordinatedShutdown.ts:109
Default per-phase timeout in ms. Can be changed globally or per-phase
via setPhaseTimeout, or from actor-ts.coordinated-shutdown. default-phase-timeout. 5 seconds is a reasonable balance between
letting slow tasks finish and not blocking shutdown indefinitely.
Assigning it later only affects phases registered after the fact — the 12 canonical phases copy it when they are seeded below, which is why the config read has to happen first.
Accessors
Section titled “Accessors”isComplete
Section titled “isComplete”Get Signature
Section titled “Get Signature”get isComplete():
boolean
Defined in: src/CoordinatedShutdown.ts:217
True once run() has completed (successful or not).
Returns
Section titled “Returns”boolean
isRunning
Section titled “isRunning”Get Signature
Section titled “Get Signature”get isRunning():
boolean
Defined in: src/CoordinatedShutdown.ts:215
True once run() has been kicked off.
Returns
Section titled “Returns”boolean
Methods
Section titled “Methods”addPhase()
Section titled “addPhase()”addPhase(
def):void
Defined in: src/CoordinatedShutdown.ts:195
Add a custom phase. dependsOn tells the coordinator where in the order it sits.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
addTask()
Section titled “addTask()”addTask(
phase,name,task):void
Defined in: src/CoordinatedShutdown.ts:164
Register a task to run during the given phase. Task names must be unique within a phase.
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”void
installProcessHooks()
Section titled “installProcessHooks()”installProcessHooks(
signals?):void
Defined in: src/CoordinatedShutdown.ts:233
Install SIGTERM / SIGINT handlers that call run(ProcessTerminateReason).
Calling twice is harmless. Uninstall via removeProcessHooks.
Parameters
Section titled “Parameters”signals?
Section titled “signals?”Signals[] = ...
Returns
Section titled “Returns”void
removeProcessHooks()
Section titled “removeProcessHooks()”removeProcessHooks():
void
Defined in: src/CoordinatedShutdown.ts:246
Returns
Section titled “Returns”void
removeTask()
Section titled “removeTask()”removeTask(
phase,name):boolean
Defined in: src/CoordinatedShutdown.ts:185
Unregister a task, returning whether one was there.
A task registered for a resource that has since been released must
be able to go with it. Without this, a component that registers on
acquire — the HTTP layer’s http-unbind-<host>:<port>, say — could
never re-acquire the same resource in one process: the second
registration collides with a task whose binding no longer exists.
Parameters
Section titled “Parameters”string
string
Returns
Section titled “Returns”boolean
run(
reason?):Promise<void>
Defined in: src/CoordinatedShutdown.ts:223
Run the pipeline. Safe to call from multiple sites — subsequent calls return the same in-flight promise.
Parameters
Section titled “Parameters”reason?
Section titled “reason?”Reason = UnknownReason.instance
Returns
Section titled “Returns”Promise<void>
setPhaseTimeout()
Section titled “setPhaseTimeout()”setPhaseTimeout(
phase,timeoutMs):void
Defined in: src/CoordinatedShutdown.ts:208
Override the timeout for a phase. Uses defaultPhaseTimeoutMs by default.
Parameters
Section titled “Parameters”string
timeoutMs
Section titled “timeoutMs”number
Returns
Section titled “Returns”void
