|  | @@ -0,0 +1,43 @@
 | 
	
		
			
				|  |  | +import os
 | 
	
		
			
				|  |  | +import sys
 | 
	
		
			
				|  |  | +sys.path.append(os.curdir)
 | 
	
		
			
				|  |  | +import configs
 | 
	
		
			
				|  |  | +from message import Message, MessageType, MessageChannel
 | 
	
		
			
				|  |  | +from message_queue_backend import AliyunRocketMQQueueBackend
 | 
	
		
			
				|  |  | +import time
 | 
	
		
			
				|  |  | +from argparse import ArgumentParser
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if __name__ == '__main__':
 | 
	
		
			
				|  |  | +    parser = ArgumentParser(description="Send messages to Aliyun RocketMQ")
 | 
	
		
			
				|  |  | +    parser.add_argument('--staff-id', type=str, help='Staff ID, as receiver')
 | 
	
		
			
				|  |  | +    parser.add_argument('--user-id', type=str, help='User ID, as sender')
 | 
	
		
			
				|  |  | +    args = parser.parse_args()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    config = configs.get()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    use_aliyun_mq = config['debug_flags']['use_aliyun_mq']
 | 
	
		
			
				|  |  | +    receive_queue = AliyunRocketMQQueueBackend(
 | 
	
		
			
				|  |  | +        config['mq']['endpoints'],
 | 
	
		
			
				|  |  | +        config['mq']['instance_id'],
 | 
	
		
			
				|  |  | +        config['mq']['receive_topic'],
 | 
	
		
			
				|  |  | +        has_consumer=False, has_producer=True
 | 
	
		
			
				|  |  | +    )
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    message_id = 0
 | 
	
		
			
				|  |  | +    while True:
 | 
	
		
			
				|  |  | +        print("Input next message: ")
 | 
	
		
			
				|  |  | +        text = sys.stdin.readline().strip()
 | 
	
		
			
				|  |  | +        if not text:
 | 
	
		
			
				|  |  | +            continue
 | 
	
		
			
				|  |  | +        message_id += 1
 | 
	
		
			
				|  |  | +        sender = args.user_id
 | 
	
		
			
				|  |  | +        receiver = args.staff_id
 | 
	
		
			
				|  |  | +        if text == MessageType.AGGREGATION_TRIGGER.name:
 | 
	
		
			
				|  |  | +            message = Message.build(MessageType.AGGREGATION_TRIGGER, MessageChannel.CORP_WECHAT,
 | 
	
		
			
				|  |  | +                                    sender, receiver, None, int(time.time() * 1000))
 | 
	
		
			
				|  |  | +        else:
 | 
	
		
			
				|  |  | +            message = Message.build(MessageType.TEXT, MessageChannel.CORP_WECHAT,
 | 
	
		
			
				|  |  | +                                    sender,receiver, text, int(time.time() * 1000)
 | 
	
		
			
				|  |  | +                                    )
 | 
	
		
			
				|  |  | +        message.msgId = message_id
 | 
	
		
			
				|  |  | +        receive_queue.produce(message)
 |