public function getNext(Queue $proxies) { if ($proxies->isEmpty()) { return; } $index = rand(0, $proxies->count() - 1); for ($i = $index; $i > 0; --$i) { $proxies->dequeue(); } return $proxies->dequeue(); }
public function getNext(Queue $proxies) { if ($proxies->isEmpty()) { return; } $available_proxies = $proxies->count(); //get next position for ($i = $this->counter; $i > 0; --$i) { $proxies->dequeue(); } //update counter $this->counter = ($this->counter + 1) % $available_proxies; return $proxies->dequeue(); }