The worker pool distributes work across the workers to the least loaded worker.
Demo
The pool was tested by a load generator that produces tasks at a inconsistent interval, faster than the time it takes to complete the tasks itself.
The tasks also take an inconsistent amount of time to finish.
In this example the tasks were just sleeps.
The gif below shows values for:
Workers: Pending requests for worker
Avg Load: Average pending requests for worker pool