batch-cluster
Advanced tools
Changelog
v13.0.0
💔 Dropped official support for Node v16, which is EOL.
💔 Several methods, including BatchCluster#pids() were changed from async to sync (as they were needlessly async).
📦 A number of timeout options can now be validly 0 to disable timeouts:
spawnTimeoutMillis
taskTimeoutMillis
📦 Added eslint @typescript-eslint/await-thenable
rule and delinted.
📦 Updated development dependencies and rebuilt docs
Changelog
v12.1.0
🐞 pidExists
now handles EPERM
properly (previous implementation would
mischaracterize pids as being dead due to insufficient permissions)
📦 Updated development dependencies and rebuilt docs
Changelog
v12.0.0
💔/✨ pidExists
and killPid
are no longer async
, as process management
is now performed via node:process.kill()
, instead of forking ps
or tasklist
.
📦 Updated development dependencies and rebuilt docs
Changelog
v10.4.3
🐞 Fix support for zero value of maxProcAgeMillis
📦 Updated development dependencies and rebuilt docs
Changelog
v10.4.2
🐞 Fix unref
is not a function
📦 Updated development dependencies and rebuilt docs
Changelog
v10.4.0
✨ If healthCheckCommand
is set and any task fails, that child process will
have a health check run before being put back into rotation.
📦 Updated development dependencies and rebuilt docs
Changelog
v10.3.2
🐞 BatchCluster#maybeSpawnProcs
in prior versions could spawn too many
processes, especially if process startup was slow. Heuristics for when to
spawn new processes now take into account pending task length and processes
busy due to initial setup.
📦 BatchCluster.vacuumProcs
returns a promise that is only fulfilled after
all reaped child processes have completed BatchProcess.#end
.
📦 BatchProcess.whyNotHealthy
can now return startError
.
📦 childEnd
is now emitted only after the child process exits
📦 BatchCluster.#onIdle
is debounced during the same event loop
📦 Added startup and shutdown spec assertions
📦 Updated development dependencies and rebuilt docs