/** * Handle message from scalarizr * * @param Scalr_Messaging_Msg $message * @param DBServer $dbServer */ public function handleMessage(Scalr_Messaging_Msg $message, DBServer $dbServer) { switch (get_class($message)) { case "Scalr_Messaging_Msg_HostUpdate": if ($message->base->apiPort) { $currentApiPort = $dbServer->getPort(DBServer::PORT_API); $this->logger->warn(new FarmLogMessage($dbServer->farmId, "Scalarizr API port was changed from {$currentApiPort} to {$message->base->apiPort}", $dbServer->serverId)); $dbServer->SetProperty(SERVER_PROPERTIES::SZR_API_PORT, $message->base->apiPort); } if ($message->base->messagingPort) { $currentCtrlPort = $dbServer->getPort(DBServer::PORT_CTRL); $this->logger->warn(new FarmLogMessage($dbServer->farmId, "Scalarizr CTRL port was changed from {$currentCtrlPort} to {$message->base->messagingPort}", $dbServer->serverId)); $dbServer->SetProperty(SERVER_PROPERTIES::SZR_CTRL_PORT, $message->base->messagingPort); } break; case "Scalr_Messaging_Msg_HostUp": try { if (!empty($message->volumes) && $dbServer->farmRoleId) { $storage = new FarmRoleStorage($dbServer->GetFarmRoleObject()); $storage->setVolumes($dbServer, $message->volumes); } } catch (Exception $e) { $this->logger->error(new FarmLogMessage($dbServer->farmId, "Error in role message handler: {$e->getMessage()}", $dbServer->serverId)); } if (isset($message->base) && isset($message->base->hostname)) { $dbServer->SetProperty(self::SERVER_BASE_HOSTNAME, $message->base->hostname); } break; } }
/** * Handle message from scalarizr * * @param Scalr_Messaging_Msg $message * @param DBServer $dbServer */ public function handleMessage(Scalr_Messaging_Msg $message, DBServer $dbServer) { switch (get_class($message)) { case "Scalr_Messaging_Msg_HostUp": try { if (!empty($message->volumes) && $dbServer->farmRoleId) { $storage = new FarmRoleStorage($dbServer->GetFarmRoleObject()); $storage->setVolumes($dbServer, $message->volumes); } } catch (Exception $e) { $this->logger->error(new FarmLogMessage($dbServer->farmId, "Error in role message handler: {$e->getMessage()}")); } if (isset($message->base) && isset($message->base->hostname)) { $dbServer->SetProperty(self::SERVER_BASE_HOSTNAME, $message->base->hostname); } break; } }