Since you're rescuing Exceptions and ConnectionError's above I'm worried of you reporting service even when it's not available. Are you sure it's the way you want to proceed?