Пример #1
0
def start_crawler():
    sqs = boto.connect_sqs(aws_access_key_id=config.AWS_ID, aws_secret_access_key=config.AWS_SECRET)
    queue_name = config.ONERRORLOG_QUEUENAME
    q = sqs.get_queue(queue_name)

    nofind_count = 0
    while True:
        try:
        #if True:
            print 'Popping Message from Queue'
            message = q.get_messages()

            if len(message) > 0:
                print 'Message received'
                q.delete_message(message[0])

                nofind_count = 0
                message = message[0]

                try:
                    body = json.loads(message.get_body())
                    LoggingService.insert_exception(body)
                except KeyError, e:
                    if str(e) == 'Some required fields are missing':
                        Logging.Error('%s: %' % ('Some required fields are missing', str(e)))
                    elif str(e) == 'The key you specified is invalid':
                        Logging.Error('%s: %' % ('The key you specified is invalid', str(e)))
                    elif str(e) == 'Severity has an invalid value':
                        Logging.Error('%s: %' % ('Severity has an invalid value', str(e)))
                except Exception, e:
                    import traceback
                    stacktrace = traceback.extract_stack()
                    Logging.Error(stacktrace)
                    Logging.Error(str(e))

                time.sleep(1)