private function processJob() { while (count($this->forkMap) < $this->size && !empty($this->jobQueue)) { $jobId = array_pop($this->jobQueue); $data = $this->jobMap[$jobId]; $this->jobForkMap[$jobId] = $fork = new Fork($this->runnable); $fork->start(); $this->logger->trace("save fork in forkMap[{$fork->getPid()}]"); $this->forkMap[$fork->getPid()] = $fork; $fork->send($data); } }
/** * @param Fork $fork * @param int $signal */ public function sendSignal(Fork $fork, $signal) { posix_kill($fork->getPid(), $signal); }