Skip to main content

Cron-Sentry is a command-line wrapper that reports unsuccessful runs to Sentry (https://www.getsentry.com)

Project description

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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cron-sentry-0.8.0.tar.gz (4.8 kB view hashes)

Uploaded source

Built Distribution

cron_sentry-0.8.0-py2.py3-none-any.whl (7.6 kB view hashes)

Uploaded 2 7

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page