I would probably have it only delete if block.call returns true. This way if there is an exception that is caught, you can re-queue the message again