Releases: netlogix/Netlogix.JobQueue.Pool
1.3.0
Avoid busy-polling while waiting for pooled job input
Pooled job workers are started without command arguments and receive the
queue name and message cache identifier later via STDIN. Flow's default
handling for missing required command arguments falls back to the interactive
prompt, which checks for input every 100 microseconds and causes high CPU
usage while workers are idle.
Read the hand-off values with a blocking fgets() before Flow maps request
arguments to controller arguments. This keeps idle workers asleep until the
pool parent writes the next job payload, while still letting orphaned workers
exit cleanly when STDIN is closed.
1.1.0 — Configurable child-process poll interval
The interval at which ReactPHP polls each child process for its exit status is now configurable and defaults to 0.1s (was hard-coded to 0.01s).
The previous 100 Hz poll caused unnecessary CPU load per child while jobs ran.
1.0.0 - Initial release
This package runs jobs (immplements \Flowpack\JobQueue\Common\Job\JobInterface) in \React\ChildProcess\Process and provides a \React\EventLoop\LoopInterface to do some work in the parent process while waiting for the children to complete.