Exemple #1
0
 /**
  * @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;
 }