golden hour
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/symplify/easy-parallel/src/ValueObject
⬆️ Go Up
Upload
File/Folder
Size
Actions
EasyParallelConfig.php
251 B
Del
OK
ParallelProcess.php
4.58 KB
Del
OK
ProcessPool.php
1.78 KB
Del
OK
Schedule.php
930 B
Del
OK
Edit: ProcessPool.php
<?php declare (strict_types=1); namespace RectorPrefix202411\Symplify\EasyParallel\ValueObject; use RectorPrefix202411\React\Socket\TcpServer; use RectorPrefix202411\Symplify\EasyParallel\Exception\ParallelShouldNotHappenException; /** * Used from https://github.com/phpstan/phpstan-src/blob/master/src/Parallel/ProcessPool.php * * @api */ final class ProcessPool { /** * @readonly * @var \React\Socket\TcpServer */ private $tcpServer; /** * @var array<string, ParallelProcess> */ private $processes = []; public function __construct(TcpServer $tcpServer) { $this->tcpServer = $tcpServer; } public function getProcess(string $identifier) : ParallelProcess { if (!\array_key_exists($identifier, $this->processes)) { throw new ParallelShouldNotHappenException(\sprintf('Process "%s" not found.', $identifier)); } return $this->processes[$identifier]; } public function attachProcess(string $identifier, ParallelProcess $parallelProcess) : void { $this->processes[$identifier] = $parallelProcess; } public function tryQuitProcess(string $identifier) : void { if (!\array_key_exists($identifier, $this->processes)) { return; } $this->quitProcess($identifier); } public function quitProcess(string $identifier) : void { $parallelProcess = $this->getProcess($identifier); $parallelProcess->quit(); unset($this->processes[$identifier]); if ($this->processes !== []) { return; } $this->tcpServer->close(); } public function quitAll() : void { foreach (\array_keys($this->processes) as $identifier) { $this->quitProcess($identifier); } } }
Save