Workers pool
RoadRunner uses a worker pool to manage the PHP workers (PHP CLI processes). Internally, the worker pool consists of a Workers Watcher, which is used to control the workersβreleasing, allocating, preventing zombie processes, resetting, destroying, and an internal stack responsible for manipulating (popping and pushing) already allocated workers.
The worker pool is not used in every RoadRunner plugin but only in the http
, gRPC
, tcp
, roadrunner-temporal
, jobs
, and centrifuge
plugins.
Additionally, the worker pool contains an internal supervisor
to control the execution TTL of the workers, overall TTL, and limit execution time.
Workers pool configuration:
Tips and tricks:
The worker pool has an internal queue that holds requests waiting for execution, which can be limited with the pool.max_queue_size
option.
The Workers pool can be dynamically scaled: link
If you need to control the worker's memory, use supervisor.max_worker_memory
option rather than pool.max_jobs
.
Use pool.debug = true
locally, for the development purposes, additional info
Last updated