Introduction ============ Installation ------------ .. code-block:: bash pip install bugzscout # Or, with easy_install: easy_install bugzscout # Or, from source: python setup.py install Getting Started --------------- .. code-block:: pycon >>> import bugzscout >>> b = bugzscout.BugzScout('http://fogbugz/scoutSubmit.asp', 'fb-user', 'the-project', 'the-area') >>> b.submit_error('An error occurred of type blah', extra='Extra info') Command Line Interface ---------------------- There is a command line interface for submitting errors. To simplify submitting multiple errors, the FogBugz configuration can be set in the environment. .. code-block:: bash # (Optional) Setup the environment. export BUGZSCOUT_URL=http://fogbugz/scoutSubmit.asp export BUGZSCOUT_USER=errors export BUGZSCOUT_PROJECT='My Project' export BUGZSCOUT_AREA=Errors # Submit a new error. bugzscout --extra 'Extra data for the case...' 'The description of the error.' Publishing Errors Asynchronously with Celery -------------------------------------------- The `Celery `_ extension can be used to asynchronously publish errors. This is the recommended pattern for using bugzscout in production environments. .. code-block:: python # Import celery extension. import bugzscout.ext.celery_app # Submit errors asynchronously. bugzscout.ext.celery_app.submit_error.delay( 'The description here...', extra='The extra information here...') The `Celery worker `_ can use the same celery app for consuming messages. .. code-block:: bash celery worker --app=bugzscout.ext.celery_app A ``celeryconfig.py`` file on the PYTHONPATH can be used to configure the celery instance. For example: .. code-block:: bash export CELERY_CONFIG_MODULE=celeryconfig celery worker --app=bugzscout.ext.celery_app