def _sendPendingMsgToUser(self,userid): ''' 发送未传送的消息到终端用户 ''' print '_sendPendingMsgToUser..',userid coll = nosql.get_collection(nosql.SendMessage) rs = coll.find({'target_id':userid,'confirm_result':0}) #.sort({}) if not rs.count(): return prx = self.getTerminalProxyByUserId(userid) if not prx: return print 'pending user message size:',rs.count() send_num = 0 for r in rs: e = nosql.SendMessage().assign(r) self.sendMessage( e )
def confirmMessage(self,seq_id_list,ctx): """ seq_ids : list B 接收到消息之后发送 确认消息, 否则系统将定时重发当初的消息或者当B再次在线online时被推送到B """ # print 'sendMessageConfirm..', 'seq_id:',seq_id user_id = USER_ID(ctx) try: coll = nosql.get_collection(nosql.SendMessage) for seq_id in seq_id_list: r = coll.find_one({'_id':ObjectId(seq_id),'target_id':user_id }) m = nosql.SendMessage().assign(r) m.confirm_time = currentTimestamp64() m.confirm_result = MessageConfirmValue m.save() except: traceback.print_exc()