12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import datetime
- import time
- import async_communication as cmt
- import PushCommand as PC
- import message_pb2 as message
- import google.protobuf.text_format as tf
- #mq参数
- mq_ip="192.168.1.233"
- mq_port=5672
- mq_user="zx"
- mq_password="zx123456"
- ex_name="command_ex"
- #db参数
- db_ip="192.168.1.233"
- db_port=3306
- db_name="ct_project"
- db_user="zx"
- db_password="zx123456"
- #rabbitmq
- g_rabbitmq=cmt.RabbitAsyncCommunicator(mq_ip,mq_port,mq_user,mq_password)
- #DB
- g_DBcommand=PC.DBCommand(db_ip,db_port,db_name,db_user,db_password)
- def command_enqueue_callback(table):
- print("收到入队请求:%s"%table)
- table=g_DBcommand.push_command(table)
- if table==None:
- return
- command_type=g_DBcommand.table_type(table)
- if command_type=="park":
- cmd=message.park_table()
- tf.Parse(table,cmd)
- response_port="park_response_%d_port"%(cmd.terminal_id)
- else:
- cmd=message.pick_table()
- tf.Parse(table,cmd)
- response_port="pick_response_%d_port"%(cmd.terminal_id)
- if cmd.statu.execute_statu==message.eNormal:
- #指令入队正常
- port="count_command_signal_%d_port"%cmd.unit_id
- g_rabbitmq.publish(ex_name,port,table) #推送指令作为计数
- print("%s OK : %s指令 %s入队成功 key:%s 单元号:%d"%(datetime.datetime.now(),command_type,cmd.car_number,cmd.primary_key,cmd.unit_id))
- else:
- print("%s ERROR : %s指令 %s入队失败 : %s 单元号:%d"%(datetime.datetime.now(),command_type,cmd.car_number,cmd.statu.statu_description,cmd.unit_id))
- print("发送反馈 ex:%s,port:%s"%(ex_name,response_port))
- g_rabbitmq.publish(ex_name,response_port,table)
- if __name__ == '__main__':
- #消费指令消息
- print("入队节点启动----")
- cmd_callbacks=[["command_enqueue_queue",command_enqueue_callback]]
- g_rabbitmq.Init(cmd_callbacks,None)
- #发送自身状态
- # while True:
- # statu=message.STATU
- # statu=message.eNormal
- # g_sender.send(tf.MessageToString(statu,as_utf8=True),"statu_ex","enqueue_node_statu_port")
- # time.sleep(1)
- g_rabbitmq.start()
- g_rabbitmq.join()
|