Record exception with stack trace to FogBugz via BugzScout,
    asynchronously. Returns an empty string.

    Note that this will not be reported to FogBugz until a celery worker
    processes this task.

    :param exception: uncaught exception thrown in app

def _handle_exc(exception):
    """Record exception with stack trace to FogBugz via BugzScout,
    asynchronously. Returns an empty string.

    Note that this will not be reported to FogBugz until a celery worker
    processes this task.

    :param exception: uncaught exception thrown in app
    """
    # Set the description to a familiar string with the exception
    # message. Add the stack trace to extra.
    bugzscout.ext.celery_app.submit_error.delay(
        'http://fogbugz/scoutSubmit.asp',
        'error-user',
        'MyAppProject',
        'Errors',
        'An error occurred in MyApp: {0}'.format(exception.message),
        extra=traceback.extract_tb(*sys.exc_info()))

    # Return an empty body.
    return ['']