@camunda8/orchestration-cluster-api
    Preparing search index...

    Interface ThreadPool

    interface ThreadPool {
        get busyCount(): number;
        get idleCount(): number;
        set onThreadReady(cb: (() => void) | undefined): void;
        get ready(): Promise<void>;
        get size(): number;
        dispatch(
            pw: PoolWorker,
            jobData: Record<string, unknown>,
            handlerModule: string,
            callbacks: {
                onComplete: (
                    completionAction?: { args: unknown[]; method: string },
                ) => void;
                onError: (err: Error) => void;
            },
        ): Promise<void>;
        getIdleWorker(): PoolWorker | undefined;
        terminate(): void;
    }
    Index

    Accessors

    • set onThreadReady(cb: (() => void) | undefined): void

      Register a callback invoked whenever a thread becomes ready or idle.

      Parameters

      • cb: (() => void) | undefined

      Returns void

    • get ready(): Promise<void>

      Resolves when all threads have been spawned and signalled ready.

      Returns Promise<void>

    Methods

    • Dispatch a serialized job to a specific idle worker. The caller is responsible for checking idleness first.

      Parameters

      • pw: PoolWorker
      • jobData: Record<string, unknown>
      • handlerModule: string
      • callbacks: {
            onComplete: (
                completionAction?: { args: unknown[]; method: string },
            ) => void;
            onError: (err: Error) => void;
        }

      Returns Promise<void>

    • Find the first ready & idle thread.

      Returns PoolWorker | undefined