/** * @param \Client\Tasks\SyncTask $task * @return bool */ public function processUpdateContent($task) { $event = self::findFirst(['state = :state:', 'bind' => ['state' => self::CONTENT_UPDATING]]); if ($event) { $this->getDI()->get('log')->error("Предыдущие обновление контента не завершено"); return false; } $this->getDI()->get('log')->info('начали синхронизацию контента'); $this->state = self::CONTENT_UPDATING; $this->save(); $file = $this->getFile(); $fullUpdate = false; if ($this->type == self::FULL_UPDATE_CONTENT) { $fullUpdate = true; } $task->updateContentViaFileAction([3 => $file, 4 => $fullUpdate]); unlink($file); $this->getDI()->get('log')->info('закончили синхронизацию контента'); if ($fullUpdate) { $this->type = self::CACHE_IMAGE_AFTER_FULL_UPDATE; } else { $this->type = self::CACHE_IMAGE_AFTER_PARTIAL_UPDATE; } $this->state = self::OPEN; $this->save(); return true; }