Documents injecute 1.x · Migrating from 0.x
Skip to content

Interface: StartableHooks<T, P> ​

Defined in: src/utils/lifecycle.ts:935

What to do with a startable service when the app starts and stops.

Example ​

ts
const hooks: StartableHooks<Scheduler> = {
  stage: lifecycle.start,
  start: (scheduler) => scheduler.start(),
  stop: (scheduler, signal) => scheduler.stop({ force: signal.aborted }),
};
app.extend(startable('scheduler', Scheduler, ['jobs'], hooks));

Type Parameters ​

T ​

T

P ​

P extends string = "start"

Properties ​

stage? ​

optional stage?: Tag<LifecycleHook, P>

Defined in: src/utils/lifecycle.ts:941

The stage to start in. Default: lifecycle.start.


start? ​

optional start?: (service, signal) => unknown

Defined in: src/utils/lifecycle.ts:937

Starts the service; may return a promise. signal is the start signal (see startSignal).

Parameters ​

service ​

T

signal ​

AbortSignalLike

Returns ​

unknown


stop? ​

optional stop?: (service, signal) => unknown

Defined in: src/utils/lifecycle.ts:939

Stops the service when the app stops (or rolls back a failed start).

Parameters ​

service ​

T

signal ​

AbortSignalLike

Returns ​

unknown

Released under the MIT License.