only ack and reject in the ensure block. this way we avoid failing to ack/reject in a rescue because something raises in the rescue. we hope this stops queues from backlogging