Repository navigation
1.31.0
·
1 commit
to master
since this release
Included commits: 1.30.1...1.31.0
Improvements
- Queues are now allocated worker processes in proportion to the number of message batches waiting on
them, up to the configured per-queue limit. Previously every queue received two processes
regardless of its depth. - The resource-aware worker now surfaces the output of the processes it starts instead of collecting
and discarding it. - Worker degradations such as insufficient free memory are now reported at error level, so they are
visible on a run with no verbosity flags. - Errors originating in a queue processing strategy or one of its plugins are now recorded
separately from broker connection failures. - Added
WorkerStats::hasFailedEveryStartedProcess(), which reports whether every process a worker
started failed.
Bug fixes
- The wait limit in
Worker::waitForPendingProcesses()now starts when the wait starts. It was
previously fixed at the first wait performed by the PHP process, so from the second round onward
pending child processes were terminated immediately instead of being waited for. - Queue processing settings and the worker memory baseline are now held per instance instead of
being shared across the whole PHP process. - A process that failed to start is no longer counted as work started, so the reported success rate
reflects the work actually done. ProcessManager::isProcessRunning()now reports whenpscannot be run, instead of treating that
failure as a finished process.- Error output is no longer wrapped in literal escape characters.