コード例 #1
0
 /**
  * Translate result value into PHP object.
  */
 private function translateResult()
 {
     if (!isset($this->message)) {
         throw Errors\ClientException("Result has not yet been received, so could not get result");
     }
     $celeryResult = Util::jsonDecode($this->message->body);
     if (self::STATUS_FAILURE == $celeryResult->status) {
         $this->exception = new Errors\ServerException($celeryResult->result);
     } else {
         if ($this->resultClassName) {
             $ref = new \ReflectionClass($this->resultClassName);
             $this->result = $ref->newInstance($celeryResult->result);
         } else {
             $this->result = $celeryResult->result;
         }
     }
 }
コード例 #2
0
 /**
  * Translate result message value into Task object.
  *
  * @return void
  * @throws Errors\ClientException When result message has not yet been received.
  */
 private function translate()
 {
     if ($this->task) {
         return;
     }
     if (!isset($this->message)) {
         throw Errors\ClientException('Result has not yet been received');
     }
     $celeryMsg = Util::jsonDecode($this->message->body);
     $this->task = Fatmouse::newTaskFromCeleryMessage($celeryMsg, $this->taskName);
 }