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; } }