2 Created on Mar 13, 2014 6 @link: http://hierarchical-cluster-engine.com/ 7 @copyright: Copyright © 2013-2014 IOIX Ukraine 8 @license: http://hierarchical-cluster-engine.com/license/ 18 from Constants
import EVENT_TYPES
as EVENT
19 from EventObjects
import GeneralResponse
21 from ResourcesTable
import ResourcesTable
22 from ResourcesRecalculating
import ResourcesRecalculating
26 import Constants
as CONSTANTS
28 logger = logging.getLogger(CONSTANTS.LOGGER_NAME)
35 RESOURCE_MANAGER_SERV_NAME =
"Server" 36 RESOURCE_MANAGER_SERV_CONFIG_NAME =
"ServerName" 41 def __init__(self, config, connectionBuilder=None):
42 BaseServerManager.__init__(self)
66 except ConfigParser.NoSectionError:
67 logger.error(
">>> ResourcesManager can't read config - Section Error")
68 except ConfigParser.NoOptionError:
69 logger.error(
">>> ResourcesManager can't read config - Option Error")
77 dic = dict(self.
config.
items(CONSTANTS.DB_CONFIG_SECTION))
87 errorStr = msg + str(event.eventType)
96 logger.debug(
LogFormatterEvent(event, [],
">>> ResourcesManager [UPDATE_RESOURCES_DATA] Handler start"))
97 if event.eventType != EVENT.UPDATE_RESOURCES_DATA:
98 self.
badEventType(
">>> Wrong Event type [UPDATE_RESOURCES_DATA] != ", event)
101 for updateItem
in event.eventObj:
104 self.
dbi.insertOnUpdate(data,
"id=%s" % data.nodeId)
106 response.statuses.append(
False)
107 errorStr =
">>> Some DBI error in ResourcesManager.onUpdateResourcesData [" + str(ex) +
"]" 112 response.statuses.append(
True)
115 retEventType = EVENT.UPDATE_RESOURCES_DATA_RESPONSE
116 retEvent = self.
eventBuilder.build(retEventType, response)
117 self.
reply(event, retEvent)
118 logger.debug(
LogFormatterEvent(event, [],
">>> ResourcesManager [UPDATE_RESOURCES_DATA] Handler finish"))
125 logger.debug(
LogFormatterEvent(event, [],
">>> ResourcesManager [GET_AVG_RESOURCES] Handler start"))
126 if event.eventType != EVENT.GET_AVG_RESOURCES:
127 self.
badEventType(
">>> Wrong Event type [GET_AVG_RESOURCES] != ", event)
129 retEventType = EVENT.GET_AVG_RESOURCES_RESPONSE
130 retEvent = self.
eventBuilder.build(retEventType, resourcesAVG)
131 self.
reply(event, retEvent)
132 logger.debug(
LogFormatterEvent(event, [],
">>> ResourcesManager [GET_AVG_RESOURCES] Handler finish"))
def reply(self, event, reply_event)
wrapper for sending event in reply for event
Class contents ResourcesManager module implementation.
def badEventType(self, msg, event)
eventProcessing method Method contains main error processing for incoming events msg - incomig error ...
GeneralResponse event object, represents general state response for multipurpose usage.
def connectionInit(self)
connectionInit method initializes internal inproc connection
def setEventHandler(self, eventType, handler)
set event handler rewrite the current handler for eventType
def addConnection(self, name, connection)
This is app base class for management server connection end-points and parallel transport messages pr...
Class ResourcesRecalculating, that contains recalcularing algorithm of resource data.
def __init__(self, config, connectionBuilder=None)
constructor initialise all class variable and recieve config as param
string RESOURCE_MANAGER_SERV_NAME
Class hides routines of bulding connection objects.
string RESOURCE_MANAGER_SERV_CONFIG_NAME
def onUpdateResourcesData(self, event)
onUpdateResourcesData event handler method Processing UPDATE_RESOURCES_DATA incoming request event - ...
def dbInit(self)
dbInit method initializes internal database API
def onGetAVGResources(self, event)
onGetAVGResources event handler method Processing GET_AVG_RESOURCES incoming request event - incoming...