worker = $worker; $this->push = $push; } /** * Automatically pushes the worker back into the queue. */ public function __destruct() { ($this->push)($this->worker); } /** * {@inheritdoc} */ public function isRunning(): bool { return $this->worker->isRunning(); } /** * {@inheritdoc} */ public function isIdle(): bool { return $this->worker->isIdle(); } /** * {@inheritdoc} */ public function enqueue(Task $task): Promise { return $this->worker->enqueue($task); } /** * {@inheritdoc} */ public function shutdown(): Promise { return $this->worker->shutdown(); } /** * {@inheritdoc} */ public function kill() { $this->worker->kill(); } }