async def auth_callback(self, data): if data["err-code"] != 0: e = Error( "Websocket connection authorized failed: {}".format(data)) logger.error(e, caller=self) SingleTask.run(self._init_success_callback, False, e) return self._subscribe_order_ok = False self._subscribe_position_ok = False self._subscribe_asset_ok = False # subscribe order data = { "op": "sub", "cid": tools.get_uuid1(), "topic": self._order_channel } await self.ws.send_json(data) # subscribe position data = { "op": "sub", "cid": tools.get_uuid1(), "topic": self._position_channel } await self.ws.send_json(data) # subscribe asset data = { "op": "sub", "cid": tools.get_uuid1(), "topic": self._asset_channel } await self.ws.send_json(data)
def register(self, func, interval=1, *args, **kwargs): """ 注册一个任务,在每次心跳的时候执行调用 @param func 心跳的时候执行的函数 @param interval 执行回调的时间间隔(秒) @return task_id 任务id """ t = { "func": func, "interval": interval, "args": args, "kwargs": kwargs } task_id = tools.get_uuid1() self._tasks[task_id] = t return task_id
def _update(self, update_fields): """ Update config attributes. Args: update_fields: Update fields. """ self.server_id = update_fields.get("SERVER_ID", tools.get_uuid1()) self.log = update_fields.get("LOG", {}) self.platforms = update_fields.get("PLATFORMS", {}) self.accounts = update_fields.get("ACCOUNTS", []) self.markets = update_fields.get("MARKETS", []) self.heartbeat = update_fields.get("HEARTBEAT", {}) self.proxy = update_fields.get("PROXY", None) for k, v in update_fields.items(): setattr(self, k, v)