lastMillisecond = (int) array_pop($this->milliseconds); } /** * Sleep until the next execution. */ public function sleep(): void { $ms = (int) (array_shift($this->milliseconds) ?? $this->lastMillisecond); if ($ms === 0) { return; } usleep($ms * 1000); } /** * Get the next backoff for logging, etc. * @return int next backoff */ public function nextBackoff(): int { return (int) Arr::first($this->milliseconds, default: $this->lastMillisecond); } }