예제 #1
0
	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 )
예제 #2
0
	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()