def METHOD_NAME(self, *args, **options):
    if not settings.FXA_EVENTS_ACCESS_KEY_ID:
        raise CommandError("AWS SQS Credentials not configured")
    if not settings.FXA_EVENTS_QUEUE_ENABLE:
        raise CommandError("FxA Events Queue is not enabled")
    sqs = boto3.resource(
        "sqs",
        region_name=settings.FXA_EVENTS_QUEUE_REGION,
        aws_access_key_id=settings.FXA_EVENTS_ACCESS_KEY_ID,
        aws_secret_access_key=settings.FXA_EVENTS_SECRET_ACCESS_KEY,
    )
    queue = sqs.Queue(settings.FXA_EVENTS_QUEUE_URL)
    try:
        # Poll for messages indefinitely.
        while True:
            self.snitch()
            msgs = queue.receive_messages(
                WaitTimeSeconds=settings.FXA_EVENTS_QUEUE_WAIT_TIME,
                MaxNumberOfMessages=10,
            )
            for msg in msgs:
                if not (msg and msg.body):
                    continue
                if settings.FXA_EVENTS_QUEUE_IGNORE_MODE:
                    metrics.incr("fxa.events.message", tags=["info:ignored_mode"])
                    msg.delete()
                    continue
                try:
                    data = json.loads(msg.body)
                    event = json.loads(data["Message"])
                except ValueError:
                    # body was not JSON
                    metrics.incr("fxa.events.message", tags=["info:json_error"])
                    with sentry_sdk.push_scope() as scope:
                        scope.set_extra("msg.body", msg.body)
                        sentry_sdk.capture_exception()
                    msg.delete()
                    continue
                event_type = event.get("event", "__NONE__").replace(":", "-")
                metrics.incr("fxa.events.message", tags=["info:received", f"event:{event_type}"])
                if event_type not in FXA_EVENT_TYPES:
                    metrics.incr("fxa.events.message", tags=["info:ignored_excluded", f"event:{event_type}"])
                    log.debug("IGNORED: %s" % event)
                    # we can safely remove from the queue message types we
                    # don't need this keeps the queue from filling up with
                    # old messages
                    msg.delete()
                    continue
                try:
                    FXA_EVENT_TYPES[event_type].delay(event)
                except Exception:
                    # something's wrong with the queue. try again.
                    metrics.incr("fxa.events.message", tags=["info:queue_error", f"event:{event_type}"])
                    with sentry_sdk.push_scope() as scope:
                        scope.set_tag("action", "retried")
                        sentry_sdk.capture_exception()
                    continue
                metrics.incr("fxa.events.message", tags=["info:success", f"event:{event_type}"])
                msg.delete()
    except KeyboardInterrupt:
        sys.exit("\nBuh bye")