Beispiel #1
0
 /**
  * It starts callback in parallel process.
  *
  * @return Client
  */
 public function start()
 {
     $this->_meomry->set(Utils::getStatusKey($this->_id), Enum\Status::NONE);
     $this->_meomry->set(Utils::getResultKey($this->_id), null);
     $this->_meomry->set(Utils::getCallbackKey($this->_id), serialize($this->_callback));
     $root = dirname(__DIR__);
     $command = 'php ' . $root . '/scripts/Process/startExecutor.php --id ' . $this->_id;
     exec($command . ' >> /dev/null 2>&1 &');
     return $this;
 }
Beispiel #2
0
 /**
  * Starts execution of callback.
  *
  * @return Executor
  */
 public function start()
 {
     $this->_memory->set(Utils::getStatusKey($this->_id), Enum\Status::START);
     try {
         $callback = unserialize($this->_memory->get(Utils::getCallbackKey($this->_id)));
         /* @var $callback Callback */
         $this->_memory->set(Utils::getStatusKey($this->_id), Enum\Status::RUN);
         $result = $callback->invoke();
         $this->_memory->set(Utils::getResultKey($this->_id), $result);
         $this->_memory->set(Utils::getStatusKey($this->_id), Enum\Status::DONE);
     } catch (\Exception $exp) {
         $this->_memory->set(Utils::getResultKey($this->_id), $exp->getMessage() . "\n" . $exp->getTraceAsString());
         $this->_memory->set(Utils::getStatusKey($this->_id), Enum\Status::ERROR);
     }
     return $this;
 }