useProcessPool = $useProcessPool; return $obj; } public function withNoLock(bool $noLock): self { $obj = clone $this; $obj->noLock = $noLock; return $obj; } public function withQueue(?string $queue): self { $obj = clone $this; $obj->queue = $queue; return $obj; } public function withLimit(int $limit): self { $obj = clone $this; $obj->limit = $limit; return $obj; } public function useProcessPool(): bool { return $this->useProcessPool; } public function noLock(): bool { return $this->noLock; } public function getQueue(): ?string { return $this->queue; } public function getLimit(): int { return $this->limit; } public static function fromNothing(): self { return new self(); } }