Cron-Sentry is a python command-line wrapper that reports errors to Sentry (using raven) if the called script exits with a status other than zero.
Install
pip install cron-sentry
Usage
$ cron-sentry --help
usage: cron-sentry [-h] [--dsn SENTRY_DSN] [-M STRING_MAX_LENGTH] [--quiet] [--report-all] [--version] cmd [arg ...]
Wraps commands and reports those that fail to Sentry.
positional arguments:
cmd The command to run
optional arguments:
-h, --help show this help message and exit
--dsn SENTRY_DSN Sentry server address
-M STRING_MAX_LENGTH, --string-max-length STRING_MAX_LENGTH, --max-message-length STRING_MAX_LENGTH
The maximum characters of a string that should be sent
to Sentry (defaults to 4096)
-q, --quiet Suppress all command output
--version show program's version number and exit
--report-all Report to Sentry even if the task has succeeded
The Sentry server address can also be specified through the SENTRY_DSN
environment variable (and the --dsn option can be omitted).
It’s possible to send extra information to Sentry via environment variables (prefix them with CRON_SENTRY_EXTRA_), such as:
$ export CRON_SENTRY_EXTRA_env=production $ cron-sentry my-program
Example
$ crontab -e
SENTRY_DSN=https://<your_key>:<your_secret>@app.getsentry.com/<your_project_id> 0 4 * * * cron-sentry my-process --arg arg2
Notes
If your command outputs Unicode, you may need to signal to python that stdin/stdout/stderr are UTF-8 encoded:
PYTHONIOENCODING=utf-8 SENTRY_DSN=https://<your_key>:<your_secret>@app.getsentry.com/<your_project_id> 0 4 * * * cron-sentry my-process --arg arg2
License
This project started life as raven-cron by MediaCore Technologies.
Original copyright 2013 to MediaCore Technologies (MIT license). Copyright 2015 to Yipit Inc. (MIT license).
Release files for cron-sentry 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cron-sentry-0.8.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cron_sentry-0.8.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 12.4 kB
Release files / cron-sentry-0.8.0.tar.gz
| Download URL | cron-sentry-0.8.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
866e6b1304f50bd68d5b8e2745ce53d3fb42444f85d582bbbb0133aab0f7fd7f
|
|
BLAKE2b-256 checksum How to use checksums |
e4cd45fa525c1b381cc4107fbdc7ff0f0795d0a6436f2cc256cc9b8eab470a53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / cron_sentry-0.8.0-py2.py3-none-any.whl
| Download URL | cron_sentry-0.8.0-py2.py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
85683444d395dee03578688c375174a36a99e52e6427b875cd0f3a53060539f9
|
|
BLAKE2b-256 checksum How to use checksums |
a3f79a047f970ece372b3cee0909fabb00f5f77aeeb4b9a3be00ab7f56e9c8b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |