示例#1
0
 /**
  * @param Cms\Data\PublisherStatus $publishedStatus
  */
 protected function setValuesFromData(Data\PublisherStatus $publishedStatus)
 {
     $this->setId($publishedStatus->getId());
     $this->setStatus($publishedStatus->getStatus());
     $this->setTimestamp($publishedStatus->getTimestamp());
     $this->setPercent($publishedStatus->getPercent());
     $this->setRemaining($publishedStatus->getRemaining());
     $this->setMsg($publishedStatus->getMsg());
 }
示例#2
0
 private function updatePublisherStatus($websiteId, $buildId, PublisherStatusData &$publishedStatus)
 {
     // if old status is init, update status only if status 60 sec old
     if ($publishedStatus->getStatus() == PublisherStatusData::STATUS_INIT && $publishedStatus->getTimestamp() >= time() - 60) {
         return;
     }
     if (!$publishedStatus->isPublishing()) {
         $this->removingPublishingFilesOnSpecialStates($websiteId, $publishedStatus);
         return;
     }
     try {
         if (is_null($publishedStatus->getId())) {
             $this->updatePublisherStatusToFailed($websiteId, $buildId, $publishedStatus);
             Registry::getLogger()->log(__METHOD__, __LINE__, "no publisher id given", SbLog::ERR);
             return;
         }
         $newPublishedData = $this->getPublishedStatusFromPublisher($websiteId, $publishedStatus->getId());
         if ($newPublishedData->getStatus() == PublisherStatusData::STATUS_UNKNOWN) {
             $this->updatePublisherStatusToFailed($websiteId, $buildId, $publishedStatus);
             Registry::getLogger()->log(__METHOD__, __LINE__, sprintf("unknown publisher job with id %s", $publishedStatus->getId()), SbLog::ERR);
             return;
         }
         $newPublishedData->setTimestamp($publishedStatus->getTimestamp());
         $publishedStatus = $newPublishedData;
         $this->setPublisherStatus($websiteId, $buildId, $publishedStatus);
         return;
     } catch (\Exception $logOnly) {
         // don't set the status to failed, because no connection to publisher
         Registry::getLogger()->log(__METHOD__, __LINE__, $logOnly->getMessage(), SbLog::ERR);
         return;
     }
 }