Skip to main content

PooledPipeline <Ctx, Input, Output>

Hierarchy

Index

Events

readonlyonAfterRun

onAfterRun: Event<unknown[], string> = ...

Called after the pipeline executes work units.

readonlyonBeforeRun

onBeforeRun: Event<[Input], string> = ...

Called before the pipeline executes work units.

readonlyonRunWorkUnit

onRunWorkUnit: Event<[WorkUnit<{}, Input, Output>, Input], string> = ...

Called before a single work unit is executed.

Other

constructor

  • Type parameters

    • Ctx: Context
    • Input = unknown
    • Output = Input

readonlycontext

context: Ctx

readonlydebug

debug: Debugger

depth

depth: number = 0

index

index: number = 0

readonlyoptions

options: Readonly<Required<PooledOptions>>

Validated and configured options.

readonlyvalue

value: Input

id

  • get id(): string
  • Return a unique hierarchical ID.

add

  • add(title: string, action: Action<Ctx, Input, Output>, scope?: unknown): this
  • add(workUnit: WorkUnit<{}, Input, Output>): this
  • Add a work unit to the list of items to process.

blueprint

configure

  • Set an options object by merging the new partial and existing options with the defined blueprint, while running all validation checks. Freeze and return the options object.

    object.configure({ name: 'Boost' });

    object.configure((prevOptions) => ({
    nestedObject: {
    ...prevOptions.nestedObject,
    some: 'value',
    },
    }));

getWorkUnits

  • getWorkUnits(): WorkUnit<{}, Input, Output>[]
  • Return a list of registered work units for the current pipeline.

monitor

  • Monitor all hierarchical pipelines, routines, and tasks being executed, by listening to all applicable events.

run

  • Execute all work units in parallel, in a pool with a max concurrency, with a value being passed to each work unit. Work units will synchronize regardless of race conditions and errors.