protected function execute(InputInterface $input, OutputInterface $output) { $output = new SymfonyStyle($input, $output); $workers = $this->workerRegistry->all(); $tableInput = array(); foreach ($workers as $worker) { $tableInput[] = array($worker->getId(), $worker->getHostname(), $worker->getProcess()->getPid(), $worker->getCurrentJob()); } $output->table(array('Id', 'Hostname', 'Pid', 'Current job'), $tableInput); }
function it_cleans_up_dead_workers(SystemInterface $system, WorkerRegistryInterface $workerRegistry, WorkerInterface $worker, WorkerInterface $deadWorker1, WorkerInterface $deadWorker2, Process $workerProcess, Process $deadWorker1Process, Process $deadWorker2Process) { $system->getCurrentPid()->willReturn(2341); $system->getHostname()->shouldBeCalled()->willReturn('foo1.resque.com'); $workerRegistry->all()->shouldBeCalled()->willReturn(array($worker, $deadWorker1, $deadWorker2)); $worker->getHostname()->shouldBeCalled()->willReturn('foo1.resque.com'); $worker->getProcess()->shouldBeCalled()->willReturn($workerProcess); $workerProcess->getPid()->shouldBeCalled()->willReturn(2341); $deadWorker1->getHostname()->shouldBeCalled()->willReturn('foo1.resque.com'); $deadWorker1->getProcess()->shouldBeCalled()->willReturn($deadWorker1Process); $deadWorker1Process->getPid()->shouldBeCalled()->willReturn('1'); $deadWorker2->getHostname()->shouldBeCalled()->willReturn('foo1.resque.com'); $deadWorker2->getProcess()->shouldBeCalled()->willReturn($deadWorker2Process); $deadWorker2Process->getPid()->shouldBeCalled()->willReturn('2'); $workerRegistry->deregister($deadWorker1)->shouldBeCalled(); $workerRegistry->deregister($deadWorker2)->shouldBeCalled(); $workerRegistry->deregister($worker)->shouldNotBeCalled(); $this->pruneDeadWorkers(); }