/** * @param $name * @param InputInterface $input * @param OutputInterface $output * * @return Daemon */ protected function createDaemon($name, InputInterface $input, OutputInterface $output) { $that = $this; $daemon = new Daemon($name); $daemon->onStartup(function (Daemon $daemon) { $daemon->log('<info>%s daemon started.</info>', [ucfirst($daemon->getName())]); unset($data); }); $daemon->registerLogger(function ($text, $args) use($that, $output) { $that->log($output, array_merge([$text], $args)); }); $daemon->onError(function (\Exception $e, Daemon $daemon) { $daemon->logException($e); }); unset($input); return $daemon; }