def METHOD_NAME(self) -> None:
    output = []
    count = 0
    queue_client = get_queue_client()
    def collect(events: List[Dict[str, Any]]) -> None:
        assert isinstance(queue_client, SimpleQueueClient)
        assert len(events) == 1
        queue_client.stop_consuming()
        nonlocal count
        count += 1
        if count == 1:
            raise Exception("Make me nack!")
        output.append(events[0])
    queue_json_publish("test_suite", {"event": "my_event"})
    try:
        queue_client.start_json_consumer("test_suite", collect)
    except Exception:
        queue_client.start_json_consumer("test_suite", collect)
    # Confirm that we processed the event fully once
    self.assertEqual(count, 2)
    self.assert_length(output, 1)
    self.assertEqual(output[0]["event"], "my_event")