def list_contracts(): """ 列举所有已订阅的合约代码 :return: """ service = instance.serviceManager.get('main') symbols = service.getSymbols() instance.getLogger().debug(' call list_contracts()..') return CR().assign(symbols).response
def subscribe(): """ 订阅指定的合约代码 :return: """ symbols = request.get_json() service = instance.serviceManager.get('main') service.subscribe(*symbols) instance.getLogger().debug(str(symbols)) return CR().response
def token_decode(token): auth = None try: data = base64.b64decode(token) data = json.loads(data) return data auth = AuthToken() object_assign(auth, data) except: instance.getLogger().warn('Request Token is invalid. Token: {}'.format( str(token))) return auth
def init_plugins(): cfgs = instance.getConfig().get('plugins', []) for name in cfgs: cfg = instance.getConfig().get(name) if not cfg: instance.getLogger().warning("plugin:{} not found!".format(name)) continue plugin_type = cfg.get('type', 'undefined') classpath = 'mantis.fundamental.plugin.p_{}.MainClass'.format( plugin_type) classpath = cfg.get('class', classpath) CLS = import_class(classpath) plugin = CLS(name) plugin.init(cfg) instance.registerPlugin(plugin)
def __init__(self, name): BaseService.__init__(self, name) self.logger = instance.getLogger() self.servers = {} self.adapters = {} self.apps = {} # app 软件连接进入
def init(self, **kwargs): self.cfgs.update(kwargs) self.redis = instance.datasourceManager.get('redis').conn self.logger = instance.getLogger() gevent.spawn(self.messageProcessTask) self.initBroker()
def __init__(self, name): TradeService.__init__(self, name) self.logger = instance.getLogger() self.servers = {} self.command_controllers = {} self.outerbox_list = {} # id:ip self.innerbox_list = {} # ip:{doorid,ip}
def initialize(self): # instance.setProps(quote_mall=self) self.logger = instance.getLogger() self.event = 'data' for ch_cfg in main.getConfig().get('gateway'): if self.ns_name == ch_cfg.get('name'): self.event = ch_cfg.get('event')
def recv(self): while True: try: d = self.sock.recv(1000) if not d: break except: # traceback.print_exc() break try: self.consumer.onData(d) except: instance.getLogger().error(traceback.format_exc()) # traceback.print_exc() instance.getLogger().debug( 'socket disconnected!' ) self.sock = None
def device_login(): """设备主机登陆,服务器校验合法性,并返回接入服务器地址""" main = instance.serviceManager.get('main') id_ = request.values.get('id') type_ = request.values.get('type') ver = request.values.get('ver') time = request.values.get('time') sign = request.values.get('sign','').upper() if not id_ or not type_ or not ver or not time or not sign: # if not id_ or not type_ : return ErrorReturn(ErrorDefs.ParameterInvalid).response secret_key = main.getConfig().get('device_secret_key') value,_ = make_signature(secret_key,dict(id=id_,type=type_,ver=ver,time=time)) if value != sign: instance.getLogger().error(u"数据签名计算错误") return ErrorReturn(ErrorDefs.ParameterInvalid).response device = model.SmartDevice.get(id = id_) if not device: return ErrorReturn(ErrorDefs.ObjectNotExist,u'设备不存在').response # 加入 认证处理时间 data = dict(id=id_,type=type_,ver=ver,time=time,auth_time=timestamp_current()) token = device_token_create(data,device.secret_key) main = instance.serviceManager.get('main') boxserver = main.getConfig().get('boxserver') host,port = boxserver.split(':') result = dict(token=token, server_ip=host, server_port=int(port), server_time=timestamp_current() ) # server = model.DeviceServer.get(id=device.server_id) # if not server: # return ErrorReturn(ErrorDefs.DeviceServerNotFound).response # # result = dict( token = token, server_ip = server.ip, server_port = server.port , # server_time = timestamp_current() # ) return CR(result= result).response
def __init__(self, name): BaseService.__init__(self, name) self.active = False # 工作状态 self.queue = Queue() # 队列 # self.thread = Thread(target=self.threadDataFanout) # 线程 self.ee = None self.mainEngine = None self.logger = instance.getLogger() self.symbols = {} # 已经订阅的合约
def __init__(self, name): BaseService.__init__(self, name) self.logger = instance.getLogger() self.servers = {} self.adapters = {} self.apps = {} # app 软件连接进入 self.iot_chan = None # 接收绿城+的命令控制 self.ctrl_chan = None # 设备控制消息
def init(self,cfgs): self.cfgs = cfgs self.redis = instance.datasourceManager.get('redis').conn self.logger = instance.getLogger() self.seq_gen = RedisIdGenerator().init(self.cfgs.get('sequence_key')) cls = import_class(self.cfgs.get('command_controller')) self.command_controller = cls() gevent.spawn(self.messageTask) return self
def init(self,**kwargs): self.cfgs.update(kwargs) # self.redis = instance.datasourceManager.get('redis').conn self.logger = instance.getLogger() # cls = import_class(self.cfgs.get('command_controller')) # self.command_controller = cls() self.broker = instance.messageBrokerManager.get('redis') gevent.spawn(self.messageProcessTask)
def checkLogin(self, message): from mantis.fanbei.smarthome.token import device_token_check device = model.SmartDevice.get(id=message.device_id) if not device: return False secret = device.secret_key data = device_token_check(message.token, secret) if not data: return False auth_time = data.get('auth_time', 0) self.device_id = data.get('id') self.device_type = data.get('type') TOKEN_VALID_TIME = self.service.getConfig().get( 'token_valid_time', 300) # 校验token是否已过期 if timestamp_current() - auth_time > TOKEN_VALID_TIME: instance.getLogger().error(u'过期无效token: ', message.token) return False return True
def __init__(self, name): super(PAService, self).__init__(name) self.active = False # 工作状态 self.queue = Queue() # 队列 self.thread = Thread(target=self._processData) # 线程 self.logger = instance.getLogger() self.symbols = set() # 已经订阅的合约 # self.latest_ticks = {} self.contracts = {ProductClass.Future: {}, ProductClass.Stock: {}} self.generate_bars = [] self.kline_symbols = [] # 实时计算k线的合约名称 self.all_calc_mins = {}
def __init__(self, name): TradeService.__init__(self, name) self.active = False # 工作状态 self.queue = Queue() # 队列 # self.thread = Thread(target=self.threadDataFanout) # 线程 self.ee = None self.mainEngine = None self.logger = instance.getLogger() self.symbols = {} # 已经订阅的合约 self.contracts = OrderedDict() self.ticks_counter = 0 self.ticks_samples = [] self.tick_filters = []
def __init__(self, mgr): ConnectionIncoming.__init__(self) self.line_status = LineStatusType.OFFLINE self.online_time = 0 self.join_time = 0 self.status_time = 0 self.live_time = 0 self.conn = None # socket 连接 self.mgr = mgr self.inspect = None self.logger = instance.getLogger() self.running = False self.name = '' self.audiostream_url = '' self.call_wait = None self.call_peer = None # 对点呼叫信息
def convertLbsLocation(self,pos): """lbs: MessageLbsStationExtension 查询pos lbs_cell 表务必要建索引: use constant_reference db.lbs_cell.createIndex({'mcc':1,'mnc':1,'lac':1,'cell':1}); """ from mantis.BlueEarth.tools.lbs import gd_convert_lbs_location ak = self.service.getConfig().get('lbs_ak') imei = self.device_id # bts = (pos.mcc,pos.mnc,pos.lac,pos.cell_id,pos.signal) bts = self.makeLbsBts(pos) bts = bts[:1] try: data = gd_convert_lbs_location(ak,imei,bts,debug=instance.getLogger().debug) object_assign(pos,data) pos.position_source = PositionSource.LBS except: self.logger.error('lbs query fail.' )
def convertWifiLocation(self,pos,message): """lbs: MessageLbsStationExtension 查询pos lbs_cell 表务必要建索引: use constant_reference db.lbs_cell.createIndex({'mcc':1,'mnc':1,'lac':1,'cell':1}); """ from mantis.BlueEarth.tools.lbs import gd_convert_wifi_location import traceback ak = self.service.getConfig().get('lbs_ak') imei = self.device_id # bts = (pos.mcc,pos.mnc,pos.lac,pos.cell_id,pos.signal) macs = map(lambda wifi: (wifi['mac'],wifi['signal']),message.wifi_data) try: data = gd_convert_wifi_location(ak,imei,macs,debug=instance.getLogger().debug) object_assign(pos,data) # pos.position_source = PositionSource.LBS except: traceback.print_exc() self.logger.error('wifi query fail.' )
def __init__(self,name): TradeService.__init__(self,name) self.logger = instance.getLogger() self.servers = {} self.command_controllers ={}
def do_request(): instance.getLogger().debug('xxx')
def cat(): import time time.sleep(.2) instance.getLogger().debug('miao~') return 'i am cat!'
def __init__(self, name): BaseService.__init__(self, name) self.logger = instance.getLogger()
def sendData(self,data): self.sock.sendall(data) # instance.getLogger().debug( 'sent >> ' + self.hex_dump(data) ) instance.getLogger().debug( 'sent >> ' + data)
def car(): instance.getLogger().debug('abccc') instance.getLogger().addTag('TRANS:A001') # print request.values do_request() return 'i am car!'