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)