示例#1
0
 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);
     }
 }
示例#2
0
 /**
  * @param Fork $fork
  * @param int $signal
  */
 public function sendSignal(Fork $fork, $signal)
 {
     posix_kill($fork->getPid(), $signal);
 }