Scalr\System\Zmq\Cron\Task\DbMsrMaintenance::worker PHP Метод

worker() публичный Метод

public worker ( $request )
    public function worker($request)
    {
        //Warming up static DI cache
        \Scalr::getContainer()->warmup();
        try {
            $dbFarmRole = DBFarmRole::LoadByID($request->id);
            $dbFarm = $dbFarmRole->GetFarmObject();
            /* @var $env Scalr_Environment */
            $env = Scalr_Model::init(Scalr_Model::ENVIRONMENT)->loadById($dbFarm->EnvID);
            $tz = $env->getPlatformConfigValue(Scalr_Environment::SETTING_TIMEZONE);
            if (!$tz) {
                $tz = date_default_timezone_get();
            }
            $farmTz = $dbFarm->GetSetting(Entity\FarmSetting::TIMEZONE);
            if ($farmTz) {
                $tz = $farmTz;
            }
            //skip terminated farms
            if ($dbFarm->Status != FARM_STATUS::RUNNING) {
                return $request;
            }
        } catch (Exception $e) {
            $this->getLogger()->warn("Could not load farm role with id:%d, %s", $request->id, $e->getMessage());
            return $request;
        }
        $this->performDbMsrAction('BUNDLE', $dbFarmRole, $tz);
        $backupsNotSupported = in_array($dbFarmRole->Platform, array(SERVER_PLATFORMS::CLOUDSTACK, SERVER_PLATFORMS::IDCF));
        if (!$backupsNotSupported) {
            $this->performDbMsrAction('BACKUP', $dbFarmRole, $tz);
        }
        return $request;
    }