Skip to content

Yipit/cron-sentry

 
 

Repository files navigation

Cron-Sentry: error reporting to Sentry of commands run via cron

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

About

Crontab sentry error reporter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.0%
  • Makefile 1.0%