예제 #1
0
파일: Executor.php 프로젝트: tolan/MTP
 /**
  * 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;
 }
예제 #2
0
파일: Client.php 프로젝트: tolan/MTP
 /**
  * It cleans metadata after execution.
  *
  * @return Client
  */
 public function clean()
 {
     $this->_meomry->delete(Utils::getStatusKey($this->_id));
     $this->_meomry->delete(Utils::getResultKey($this->_id));
     $this->_meomry->delete(Utils::getCallbackKey($this->_id));
     return $this;
 }