def start_service(name, service_name, ip, port, config, config_type): print('数据节点[%s]正在 bind service ......' % service_name) ret = dsif.bindService(ip, port, service_name, name) if eval(str(ret)) == 1: print('数据节点[%s] bind service 成功.' % service_name) # bind config print('数据节点[%s]正在 bind config ......' % service_name) ret = dsif.bindConfig(name, config_type, config, 'bind_config') if eval(str(ret)) == 1: print('数据节点[%s] bind config 成功.' % service_name) print('数据节点[%s]正在 start ......' % service_name) ret = dsif.start(name, 'bind_config') if eval(str(ret)) == 1: print('数据节点[%s] start 成功.' % service_name) return 1 else: print('数据节点[%s] start 失败(%s).' % (service_name, ret)) return -1 else: print('数据节点[%s] bind config 失败(%s).' % (service_name, ret)) return -1 else: print('数据节点[%s] bind service 失败(%s).' % (service_name, ret)) return -1
def refresh_service_status(self): if not self._task.task_is_running(): self._bindData = False self._task.set_status(0) else: _good_status = False _status_value = None if not self._bindService: ret = dsif.bindService(self._ip, self._port, self._task.name, 'get_status') if int(ret) == 1: self._bindService = True log.info('获取[%s]状态bind service成功' % self._task.name) else: self._bindService = False log.error('获取[%s]状态bind service异常,原因:%s' % (self._task.name, ret)) if not self._bindData: # 状态数据对象 bindData = pb_data_sensor_list.pb_data_sensor_list() bindData.list_id = 1 status_tag = bindData.pb_data_sensors.add() status_tag.name = '%s_status' % self._task.name log.debug('准备[%s]状态数据bind data...' % self._task.name) try: ret = dsif.bindData('get_status', 'pb_data_sensor_list', bindData, 'get_status_list') if int(ret) == 1: self._bindData = True log.info('获取[%s]状态[bind data]成功' % self._task.name) else: self._bindData = False log.error('获取[%s]状态[bind data]失败,原因:%s' % (self._task.name, ret)) except Exception as e: self._bindData = False log.error('获取[%s]状态[bind data]异常,原因:%s' % (self._task.name, repr(e))) if self._bindData: self._getData = pb_data_sensor_list.pb_data_sensor_list() try: log.debug('准备[%s]状态数据get data...' % self._task.name) ret = dsif.getData('get_status', 'get_status_list', 'pb_data_sensor_list', self._getData) if ret == 1 and len(self._getData.pb_data_sensors) > 0: _status_value = int(self._getData.pb_data_sensors[0].value) _good_status = True log.debug('[%s]当前运行状态为:%s' % (self._task.name, _status_value)) else: log.error('获取[%s]状态[get data]失败,原因:%s' % (self._task.name, ret)) except Exception as e: log.error('获取[%s]get data异常,原因:%s' % (self._task.name, repr(e))) if _good_status: self._task.set_status(_status_value) self._task.update_status_time(int(time.time())) else: self._bindData = False self._task.set_status(0)
def refresh_service_status(self): _good_status = False _status_value = None if not self._bindService: ret = dsif.bindService(self._task.ip, self._task.port, self._task.name, 'get_status') if int(ret) == 1: self._bindService = True log.info('获取[%s]状态bind service成功' % self._task.name) else: self._bindService = False log.error('获取[%s]状态bind service异常,原因:%s' % (self._task.name, ret)) if self._task.handle is not None: # 状态数据对象 bindData = pb_data_sensor_list.pb_data_sensor_list() bindData.list_id = 1 status_tag = bindData.pb_data_sensors.add() status_tag.name = '%s_status' % self._task.name try: ret = dsif.bindData('get_status', 'pb_data_sensor_list', bindData, 'get_status_list') if int(ret) == 1: self._bindData = True log.info('获取[%s]状态[bind data]成功' % self._task.name) else: self._bindData = False log.error('获取[%s]状态[bind data]异常,原因:%s' % (self._task.name, ret)) except Exception as e: self._bindData = False log.error('获取[%s]状态[bind data]异常,原因:%s' % (self._task.name, repr(e))) self._getData = pb_data_sensor_list.pb_data_sensor_list() try: ret = dsif.getData('get_status', 'get_status_list', 'pb_data_sensor_list', self._getData) if ret == 1 and len(self._getData.pb_data_sensors) > 0: _status_value = int( self._getData.pb_data_sensors[0].value) _good_status = True log.debug('[%s]当前运行状态为:%s' % (self._task.name, _status_value)) except Exception as e: log.error('获取[%s]get data异常,原因:%s' % (self._task.name, repr(e))) if _good_status: self._task.set_status(_status_value) self._task.set_status_last_time( common.get_current_timespan()) else: self._task.set_status(0)
def start_node(path, name, ip, port, node_name, config, config_type): global g_process ''' 启动数据节点,并start和bind config ''' try: is_start = False print('正在启动[%s]......' % path) p = run_app(path) if p: print('启动[%s]成功.' % path) g_process[name] = p # bind service print('数据节点[%s]正在 bind service ......' % node_name) ret = dsif.bindService(ip, port, node_name, name) if eval(str(ret)) == 1: print('数据节点[%s] bind service 成功.' % node_name) # bind config print('数据节点[%s]正在 bind config ......' % node_name) ret = dsif.bindConfig(name, config_type, config, 'bind_config') print('bindconfig-----------type(ret):', type(ret)) if eval(str(ret)) == 1: print('数据节点[%s] bind config 成功.' % node_name) print('数据节点[%s]正在 start ......' % node_name) ret = dsif.start(name, 'bind_config') if eval(str(ret)) == 1: print('数据节点[%s] start 成功.' % node_name) is_start = True else: print('数据节点[%s] start 失败(%s).' % (node_name, ret)) else: print('数据节点[%s] bind config 失败(%s).' % (node_name, ret)) else: print('数据节点[%s] bind service 失败(%s).' % (node_name, ret)) if not is_start: stop_app(name) else: print('启动[%s]失败.' % path) return is_start except Exception as e: print('启动[%s]失败,原因:%s.' % (path, repr(e)))
__version__ = '0.1.1' import data_service_interface as dsif import pb_data_sensor_list import pb_config_tag import time ip = '192.168.28.42' port = 41009 number = 30 ret = dsif.bindService(ip, port, 's_rtds', 'rtds') print('bindService return:', ret) print('%s bindService over %s' % ('-' * number, '-' * number)) #------------------------------------------------------------- import pb_config_rtds config = pb_config_rtds.pb_config_rtds() config.rtds_id = 1 config.update_cycle = 5 data1 = config.tag_infors.add() data1.name = '10001' data2 = config.tag_infors.add() data2.name = '10002' data3 = config.tag_infors.add() data3.name = 'tag3' ret = dsif.bindConfig('rtds', 'pb_config_rtds', config, 'rtds_01') print('bindConfig return:', ret) print('%s bindConfig over %s' % ('-' * number, '-' * number))
import time import data_service_interface as dsif number = 30 ip = '192.168.18.23' port = 41018 ret = dsif.bindService(ip, port, 's_mongodb_event', 's_mongodb_service') print('bindService return:', ret) print('%s bindService over %s' % ('-' * number, '-' * number)) #------------------------------------------------------------ import pb_config_mongodb config = pb_config_mongodb.pb_config_mongodb() config.mongodb_id = '001' config.ip = '192.168.18.23' config.port = 27017 config.user_name = 'root' config.user_password = '******' config.cycle = 5 config.database_name = 'Configs' config.collection_name = 'config' config.field_name = 'config_key' # config.search_key_list.append('config_opc_01') ret = dsif.bindConfig('s_mongodb_service', 'pb_config_mongodb', config, 'config_name_01') print('bindConfig return:', ret) print('%s bindConfig over %s' % ('-' * number, '-' * number)) #------------------------------------------------------------
import time import data_service_interface as dsif number = 30 ip = '192.168.28.23' port = 41010 ret = dsif.bindService(ip, port, 's_mongodb_keyvalue', 's_mongodb_service') print('bindService return:', ret) print('%s bindService over %s' % ('-' * number, '-' * number)) #------------------------------------------------------------ import pb_config_mongodb config = pb_config_mongodb.pb_config_mongodb() config.mongodb_id = '001' config.ip = '192.168.28.23' config.port = 27017 config.user_name = 'root' config.user_password = '******' config.cycle = 5 config.database_name = 'Configs' config.collection_name = 'config' config.field_name = 'config_key' # config.search_key_list.append('config_opc_01') ret = dsif.bindConfig('s_mongodb_service', 'pb_config_mongodb', config, 'config_name_01') print('bindConfig return:', ret) print('%s bindConfig over %s' % ('-' * number, '-' * number)) #------------------------------------------------------------