batch-cluster
    Preparing search index...

    Class BatchProcess

    BatchProcess manages the care and feeding of a single child process.

    Index

    Constructors

    Properties

    failedTaskCount: number = 0
    name: string
    pid: number
    proc: ChildProcess
    start: number = ...
    startupTaskId: number

    Accessors

    • get currentTask(): undefined | Task<unknown>

      Getter for current task (required by StreamContext interface)

      Returns undefined | Task<unknown>

    • get ended(): boolean

      Returns boolean

      true if this.end() has completed running, which includes child process cleanup. Note that this may return true and the process table may still include the child pid. Call () for an authoritative (but expensive!) answer.

    • get ending(): boolean

      Returns boolean

      true if this.end() has been requested (which may be due to the child process exiting)

    • get exited(): boolean

      Returns boolean

      true if the child process has exited (based on OS events). This is now authoritative and inexpensive since it's driven by OS events rather than polling.

    • get healthy(): boolean

      Returns boolean

      true if the process doesn't need to be recycled.

    • get idle(): boolean

      Returns boolean

      true iff no current task. Does not take into consideration if the process has ended or should be recycled: see BatchProcess.ready.

    • get ready(): boolean

      Returns boolean

      true iff this process is both healthy and idle, and ready for a new task.

    • get whyNotReady(): null | WhyNotReady

      Returns null | WhyNotReady

      a string describing why this process cannot currently handle a new task, or undefined if this process is idle and healthy.

    Methods

    • End this child process.

      Parameters

      • gracefully: boolean = true

        Wait for any current task to be resolved or rejected before shutting down the child process.

      • reason: WhyNotHealthy

        who called end() (used for logging)

      Returns Promise<void>

      Promise that will be resolved when the process has completed. Subsequent calls to end() will ignore the parameters and return the first endPromise.

    • Returns boolean

      true if the child process is running. Now event-driven first with polling fallback.