/** * 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; } } }
/** * 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); }