/** * Run the queue * * @return \Generator */ public function __invoke() { while (!$this->queue->isEmpty()) { usleep(self::SLEEP_MICRO_SECONDS); $pending = $this->getPending(); if ($pending->count() && $this->getRunning()->count() < $this->limit) { (yield $pending->shift()); } else { (yield new NullProcess()); } $this->clearCompleted(); } }
/** * Test collection empty method * * @return void */ public function testIsEmpty() { $this->assertFalse($this->collection->isEmpty()); $this->collection->clear(); $this->assertTrue($this->collection->isEmpty()); }