Scalr\Observer\BehaviorEventObserver::OnHostDown PHP Méthode

OnHostDown() public méthode

public OnHostDown ( HostDownEvent $event )
$event HostDownEvent
    public function OnHostDown(\HostDownEvent $event)
    {
        $dbServer = $event->DBServer;
        if ($dbServer->farmRoleId != 0) {
            try {
                $dbFarmRole = $dbServer->GetFarmRoleObject();
            } catch (\Exception $e) {
                return false;
            }
            foreach (\Scalr_Role_Behavior::getListForFarmRole($dbFarmRole) as $bObj) {
                $bObj->onHostDown($dbServer, $event);
            }
            //Storage
            if (!$event->isSuspended) {
                try {
                    $storage = new FarmRoleStorage($dbFarmRole);
                    $storageConfigs = $storage->getConfigs();
                    if (empty($storageConfigs)) {
                        return true;
                    }
                    foreach ($storageConfigs as $config) {
                        //Check for existing volume
                        $dbVolume = FarmRoleStorageDevice::getByConfigIdAndIndex($config->id, $dbServer->index);
                        if ($dbVolume && !$config->reUse) {
                            $dbVolume->status = FarmRoleStorageDevice::STATUS_ZOMBY;
                            $dbVolume->save();
                        }
                    }
                } catch (\Exception $e) {
                    $this->logger->error(new \FarmLogMessage($dbServer, "Marking storage for disposal failed: {$e->getMessage()}"));
                }
            }
        }
    }