예제 #1
0
def read_message(name):
	res = requests.get('http://ec2-52-30-7-5.eu-west-1.compute.amazonaws.com:81/key')
	str = res.text.split(':')

	# Get the keys from a specific url and then use them to connect to AWS Service 
	access_key_id = str[0]
	secret_access_key = str[1]

	# Set up a connection to the AWS service. 
	conn = boto.sqs.connect_to_region("eu-west-1", aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

	# Get the queue object to count the messages
	queue = conn.get_queue(name)

	# Count the messages
	if queue is not None:
		message = queue.read()
		print("Messgae: " + message.get_body())

		if queue.delete_message(message) is True:
			print("Messgae deleted")
		else:
			print("Message could not be deleted")
			
	else:
		print("Queue could not be found")
예제 #2
0
def read_message(name):
    """
    Read a message

    curl -s -X GET -H 'Accept: application/json' http://localhost:5000/queues/<name>/msgs | python -mjson.tool

    """
    queue = conn.get_queue(name)
    if(queue is not None):
	if(queue.read() is not None):
            msg = queue.read().get_body()
            resp = 'Message = %s\n' % msg
	else:
	    resp = 'No message to read\n'
    else :
	resp = 'Queue % was not found\n' % name
    return Response(response=resp,  mimetype="application/json")
예제 #3
0
def _helper_main(args):
    global WEBUI

    awsregion = os.environ['AWS_REGION']
    sqsurl = os.environ['AWS_SQS_URL']

    keyname = os.environ['KEYNAME']
    keypath = generate_skey(awsregion, keyname)

    sqsconn = boto.sqs.connect_to_region(awsregion)
    queue = boto.sqs.queue.Queue(connection=sqsconn, url=sqsurl)
    if queue is None:
        raise Exception("Queue %s not found" % sqsurl)

    mypath = os.path.dirname(os.path.realpath(__file__))
    tpl = os.path.join(mypath, 'www', 'index.j2')
    target = os.path.join(mypath, 'www', 'index.html')
    WEBUI = WebUI(tpl, target)

    WEBUI.waiting()

    while True:
        msg = queue.read(30)
        if msg == None:
            LOG.debug('no message')
            time.sleep(10)
            continue

        msgbody = json.loads(msg.get_body())
        LOG.debug("message: %s", msgbody['Message'])
        crmsg = json.loads(msgbody['Message'])

        rt = crmsg.get('RequestType', None)
        if rt == 'Create':
            WEBUI.add_request(crmsg.get('RequestId'))
            try:
                success, reason, data = execute_playbook(
                    keypath, crmsg.get('ResourceProperties', {}))
                LOG.debug("playbook result: %s %s %s", success, reason, data)
            except:
                LOG.exception("exception in execute_playbook")
                reply_to_msg(crmsg,
                             success=False,
                             reason="Exception executing playbook")
                WEBUI.set_request_result(False, "Exception executing playbook")
            else:
                reply_to_msg(crmsg, success=success, reason=reason, data=data)
                WEBUI.set_request_result(success, reason, data)
        elif rt == 'Delete':
            reply_to_msg(crmsg, success=True, reason="OK")
        else:
            LOG.warning("Unhandled RequestType %s", rt)
            reply_to_msg(crmsg, succces=True, reason="OK")

        WEBUI.waiting()

        queue.delete_message(msg)
예제 #4
0
def consume_message(name):
    """
    Read and erase message
    
    curl -s -X DELETE -H 'Accept: application/json' http://localhost:5000/queues/<name>/msgs | python -mjson.tool

    """
    queue = conn.get_queue(name)
    if(queue is not None):
	if(queue.read() is not None):
	    msgObj = queue.read()
            msg = msgObj.get_body()
            queue.delete_message(msgObj)
            resp = 'Message %s has been deleted\n' % msg
	else:
	    resp = 'No message to delete\n'
    else :
	resp = 'Queue % was not found\n' % name   
    return Response(response=resp, mimetype="application/json")
예제 #5
0
파일: server.py 프로젝트: Chane-O/lab13
def consume_message(name):

    conn = connect()
    queue = conn.get_queue(name)

    if queue is not None:
        message = queue.read()
        return "Message consumed: " + message.get_body()
    else:
        return "Queue not found"
예제 #6
0
파일: server.py 프로젝트: TaOnAs/lab1213
def consume_message(name):
    """
    Read and erase message
    curl -s -X DELETE -H 'Accept: application/json' http://localhost:5000/queues/<name>/msgs | python -mjson.tool
    """
    queue = conn.get_queue(name)
    m = queue.read()
    message = m.get_body()
    queue.delete_message(m)
    return Response(response='{"Message deleted": "%s"}' % message, mimetype="application/json")
예제 #7
0
파일: server.py 프로젝트: TaOnAs/lab1213
def read_message(name):
    """
    Read a message
    curl -s -X GET -H 'Accept: application/json' http://localhost:5000/queues/<name>/msgs | python -mjson.tool
    """
    queue = conn.get_queue(name)
    m = queue.read()
    message = m.get_body()
    
    return Response(response='{"Message": "%s"}' % message, mimetype="application/json")
예제 #8
0
def read_message(name):

    conn = connect()
    queue = conn.get_queue(name)
    
    # Read the first message
    if queue is not None:
        message = queue.read()
        return "Messgae: " + message.get_body()
    else:
        return "Queue could not be found"
예제 #9
0
def get_msgs(qid):
    """
    Get messages
    
    curl -X GET -H 'Accept: application/json' http://localhost:5000/queues/<qid>/msgs
    """
    
    conn = get_conn()
    queue = conn.get_queue(qid)
    rs = queue.read()
    resp = json.dumps (rs.get_body())
    
    return Response(response=resp, mimetype="application/json")
def main(config=Config()):
    try:
        _, _, _, sqs_region, _, sqs_queue = config.sqs_arn.split(':', 5)
    except Exception:
        raise Exception('invalid sqs arn')

    sqs = boto.sqs.connect_to_region(sqs_region)
    queue = sqs.get_queue(sqs_queue)

    if queue is None:
        raise Exception('could not connect to sqs queue: ' + config.sqs_arn)

    while True:
        message = queue.read(wait_time_seconds=20)
        if message is None:
            #out('Queue is empty')
            continue
        try:
            raw_body = message.get_body()
            out('Message received')
        except Exception:
            msg = 'Failed to get message body'
            out(msg)
            statsd.event('SQS Message Error', msg, alert_type='error')
            statsd.increment('tiles.processor.failed_get_body')
            continue
        try:
            body = json.loads(
                json.loads(raw_body)['Message'].replace("u'",
                                                        '"').replace("'", '"'))
        except Exception:
            msg = 'Invalid message body: ' + raw_body
            out(msg)
            statsd.event('JSON parse error', msg, alert_type='error')
            statsd.increment('tiles.processor.invalid_body')
            continue
        try:
            out('Processing: ' + str(body))
            process(message, body, config.ddfs_master, config.tag_prefix)
            statsd.increment('tiles.processor.processed')
        except Exception:
            msg = 'Failed to process: ' + str(body)
            out(msg)
            statsd.increment('tiles.processor.failed_to_process')
            statsd.event('Failed Processing message', msg, alert_type='error')
            stoppable()
예제 #11
0
# 4. Creating a new queue
#rs = conn.create_queue(sys.argv[1])
#qname = rs.name

#print ("> queue " + qname + " is now created")



# 6. Write a message to the queue
#queue = conn.get_queue(sys.argv[1])
#conn.send_message(queue, sys.argv[2])
#print ("Message" + sys.argv[2] + "written to the queue")


#7. Count number of messages on the queue
#x = conn.get_queue(sys.argv[1]).count()
#print ("Number of messages in the queue = " + x)


#9 Consume a message from the queue
queue = conn.get_queue(sys.argv[1])
msg = queue.read(60)

print ("Message read: " + msg.get_body())

conn.delete_queue(queue)
print ("queue " + sys.argv[1] + " is now deleted")


예제 #12
0
import os
import boto.sqs
import boto.sqs.queue
from boto.sqs.message import Message
from boto.sqs.connection import SQSConnection
from boto.exception import SQSError
import sys
import urllib2

response = urllib2.urlopen('http://ec2-52-30-7-5.eu-west-1.compute.amazonaws.com:81/key')
content = response.read();
content = content.split (':');
response.close();

# Get the keys from a specific url and then use them to connect to AWS Service 
access_key_id = str(content[0])
secret_access_key = str(content[1])

# Set up a connection to the AWS service. 
conn = boto.sqs.connect_to_region("eu-west-1", aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

#Read message
queue = conn.get_queue(sys.argv[1])
msg = queue.read()
print msg.get_body()

#Delete message
queue.delete_message(msg)
print "Deleted message"
예제 #13
0
sys.path.append('/data')

import urllib2

# URL which returns a KEY which can be used to access SQS 

keypart1 = urllib2.urlopen("http://ec2-52-30-7-5.eu-west-1.compute.amazonaws.com:81/key").read()

access_key_id, secret_access_key = keypart1.split(':')

name = sys.argv[1]

conn = boto.sqs.connect_to_region('eu-west-1', aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

queue = conn.get_queue(name)

try:

    m = Message()

    m = queue.read(10)

    str1 = m.get_body()

    print "Message read = ", str1

except:

    print "Could not read message"
예제 #14
0


# Get the keys from a specific url and then use them to connect to AWS Service 
access_key_id = str[0]
secret_access_key = str[1]

# Set up a connection to the AWS service. 
conn = boto.sqs.connect_to_region("eu-west-1", aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

# read messages from queue

queue = conn.get_queue(queue_name)


m = queue.read()



str = m.get_body()

queue.delete_message(m)
print "Message: " + str
print "Message deleted from the queue"






예제 #15
0
r = requests.get('http://ec2-52-30-7-5.eu-west-1.compute.amazonaws.com:81/key')
str = r.content.split(':',1)

queue_name = sys.argv[1]



# Get the keys from a specific url and then use them to connect to AWS Service 
access_key_id = str[0]
secret_access_key = str[1]

# Set up a connection to the AWS service. 
conn = boto.sqs.connect_to_region("eu-west-1", aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

# read messages from queue

queue = conn.get_queue(queue_name)


m = queue.read(60)
str = m.get_body()
print "Message: " + str







예제 #16
0
import urllib2
import sys

# Get the keys from a specific url and then use them to connect to AWS Service 
access_key_id = ""
secret_access_key = ""
keypart1 = urllib2.urlopen("http://ec2-52-30-7-5.eu-west-1.compute.amazonaws.com:81/key").read()
access_key_id, secret_access_key = keypart1.split(':')

# Set up a connection to the AWS service. 
conn = boto.sqs.connect_to_region("eu-west-1", aws_access_key_id=access_key_id, aws_secret_access_key=secret_access_key)

queue_name = sys.argv[1]

queue = conn.get_queue(queue_name)

if(queue.read() is not None):

	message = queue.read()

	if(message.get_body() is not null):

		str = message.get_body()

		print("Message read: " + str)

		queue.delete_message(message)
	
		print("Message deleted from the queue")
else:
	print("No meggages to show")