Scalr_Db_Msr::getConstant PHP Method

getConstant() public static method

public static getConstant ( $name )
    public static function getConstant($name)
    {
        if (!self::$reflect) {
            self::$reflect = new ReflectionClass('Scalr_Db_Msr');
        }
        return self::$reflect->getConstant($name);
    }

Usage Example

Ejemplo n.º 1
0
 public function createDataBundle(DBFarmRole $dbFarmRole, array $params = array())
 {
     if (!$params['dataBundleType']) {
         $params['dataBundleType'] = 'full';
     }
     if ($params['compressor'] === null) {
         $params['compressor'] = 'gzip';
     }
     //$params['useSlave']
     if ($dbFarmRole->GetSetting(Scalr_Db_Msr::DATA_BUNDLE_IS_RUNNING) == 1) {
         throw new Exception("Data bundle already in progress");
     }
     $currentServer = $this->getServerForDataBundle($dbFarmRole, $params['useSlave']);
     if (!$currentServer) {
         throw new Exception("No suitable server for data bundle");
     }
     $message = new Scalr_Messaging_Msg_DbMsr_CreateDataBundle();
     $storageType = $dbFarmRole->GetSetting(Scalr_Db_Msr::DATA_STORAGE_ENGINE);
     $storageGeneration = $storageType == 'lvm' ? 2 : 1;
     if ($dbFarmRole->isOpenstack()) {
         $driver = 'swift';
     } else {
         switch ($dbFarmRole->Platform) {
             case SERVER_PLATFORMS::EC2:
                 $driver = 's3';
                 break;
             case SERVER_PLATFORMS::GCE:
                 $driver = 'gcs';
                 break;
         }
     }
     if ($storageGeneration == 2) {
         $behavior = $dbFarmRole->GetRoleObject()->getDbMsrBehavior();
         if (!isset($message->{$behavior})) {
             $message->{$behavior} = new stdClass();
         }
         $message->{$behavior}->backup = new stdClass();
         $message->{$behavior}->backup->type = 'xtrabackup';
         $message->{$behavior}->backup->compressor = $params['compressor'];
         $message->{$behavior}->backup->backupType = $params['dataBundleType'];
         $message->{$behavior}->backup->cloudfsTarget = sprintf("%s://scalr-%s-%s-%s/data-bundles/%s/%s/", $driver, SCALR_ID, $dbFarmRole->GetFarmObject()->EnvID, $dbFarmRole->CloudLocation, $dbFarmRole->FarmID, $behavior);
         if ($params['dataBundleType'] == 'incremental') {
             $previousManifest = $this->db->GetOne("SELECT manifest FROM storage_restore_configs WHERE farm_roleid = ? ORDER BY id DESC LIMIT 1", array($dbFarmRole->ID));
             $message->{$behavior}->backup->prevCloudfsSource = $previousManifest;
         }
     }
     $message->storageType = $storageType;
     $currentServer->SendMessage($message);
     $dbFarmRole->SetSetting(Scalr_Db_Msr::getConstant("DATA_BUNDLE_IS_RUNNING"), 1, DBFarmRole::TYPE_LCL);
     $dbFarmRole->SetSetting(Scalr_Db_Msr::getConstant("DATA_BUNDLE_RUNNING_TS"), time(), DBFarmRole::TYPE_LCL);
     $dbFarmRole->SetSetting(Scalr_Db_Msr::getConstant("DATA_BUNDLE_SERVER_ID"), $currentServer->serverId, DBFarmRole::TYPE_LCL);
 }
All Usage Examples Of Scalr_Db_Msr::getConstant