+`opts` (optional) An object with these properties:
+
+- `messageHandler` (optional) - A function that will listen for message event on each worker
+- `errorHandler` (optional) - A function that will listen for error event on each worker
+- `onlineHandler` (optional) - A function that will listen for online event on each worker
+- `exitHandler` (optional) - A function that will listen for exit event on each worker
+- `workerChoiceStrategy` (optional) - The worker choice strategy to use in this pool:
+
+ - `WorkerChoiceStrategies.ROUND_ROBIN`: Submit tasks to worker in a round robbin fashion
+ - `WorkerChoiceStrategies.LESS_USED`: Submit tasks to the less used worker
+ - `WorkerChoiceStrategies.LESS_BUSY`: Submit tasks to the less busy worker
+ - `WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN`: Submit tasks to worker using a weighted round robin scheduling algorithm based on tasks execution time
+ - `WorkerChoiceStrategies.FAIR_SHARE`: Submit tasks to worker using a fair share tasks scheduling algorithm based on tasks execution time
+
+ `WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN` and `WorkerChoiceStrategies.FAIR_SHARE` strategies are targeted to heavy and long tasks
+ Default: `WorkerChoiceStrategies.ROUND_ROBIN`
+
+- `workerChoiceStrategyOptions` (optional) - The worker choice strategy options object to use in this pool.
+ Properties:
+
+ - `medRunTime` (optional) - Use the tasks median run time instead of the tasks average run time in worker choice strategies.
+
+ Default: { medRunTime: false }
+
+- `enableEvents` (optional) - Events emission enablement in this pool. Default: true
+- `enableTasksQueue` (optional, experimental) - Tasks queue per worker enablement in this pool. Default: false
+
+- `tasksQueueOptions` (optional, experimental) - The worker tasks queue options object to use in this pool.
+ Properties:
+
+ - `concurrency` (optional) - The maximum number of tasks that can be executed concurrently on a worker.