/** * {@inheritdoc} * * The type of worker created depends on the extensions available. If multi-threading is enabled, a WorkerThread * will be created. If threads are not available, a WorkerFork will be created if forking is available, otherwise * a WorkerProcess will be created. */ public function create() : Worker { if (Thread::enabled()) { return new WorkerThread(); } if (Fork::enabled()) { return new WorkerFork(); } return new WorkerProcess(); }