Class ProcessHandler<TIn, TOut>

A wrapper handler that will only run the wrapped handler if it is executed from:

  • when running multithreaded: either the primary or a worker process
  • when running singlethreaded: the only process (i.e. always)

Type Parameters

  • TIn

  • TOut

Hierarchy

Constructors

Properties

clusterManager: ClusterManager
executeOnPrimary: boolean
source: AsyncHandler<TIn, TOut>

Methods

  • Checks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.

    Parameters

    • input: TIn

      Input that could potentially be handled.

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

  • Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.

    Parameters

    • input: TIn

      Input that needs to be handled.

    Returns Promise<TOut>

    A promise resolving when handling is finished.

  • Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.

    Parameters

    • input: TIn

      Input data that will be handled if it can be handled.

    Returns Promise<TOut>

    A promise resolving if the input can be handled, rejecting with an Error if not.