Example #1
0
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
Example #2
0
        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)
Example #3
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)
Example #4
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)))
Example #5
0
__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))
Example #6
0
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))

#------------------------------------------------------------
Example #7
0
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))

#------------------------------------------------------------