【发布时间】:2017-09-27 11:46:41
【问题描述】:
假设我有两个脚本 - 一个用于 cloudfront(cf),另一个用于 elb。我在队列 (Rabbitmq) 中的 json 中有一些分配值,称为请求队列。当我运行我的 elb 脚本时,它应该只得到带有 file_type=elb 的味精
{'file_type':'elb','elb_name':'name1','customer_id':'1','s3_bucket':'elb-logs-bucket'}
当我运行我的 cf 脚本时,它应该只获得带有 file_type=cf 的 msg
{'file_type':'cf','cf_name':'name1','customer_id':'1','s3_bucket':'cf-logs-bucket'}
我下面的代码仅适用于我发布到队列的第一个味精,而不适用于类型。任何人都可以提供想法我可以做些什么来从 cf 脚本中获取 file_type=cf 味精,反之亦然..我正在使用默认交换
import json
import pika
import logging
def get_rmq_request_queue(channel,connection,req_queue_name):
payload_dict={}
try:
queue_message=channel.basic_get(queue=req_queue_name,no_ack=False)
payload=queue_message[2]
print payload
print payload
payload_dict=json.loads(payload)
return payload_dict
except Exception as e:
payload_dict={}
payload_dict['error']=str(e)
return payload_dict
main():
res_req_que=get_rmq_request_queue(channel,connection,req_queue_name)
if 'error' not in res_req_que:
s3_bucket=res_req_que['s3_bucket']
customer_id=res_req_que['customer_id']
file_type=res_req_que['file_type']
cf_name=res_req_que['cf_name']
我的队列中可能有很多消息,挑战是我需要获取文件类型的最新消息...
【问题讨论】: