getsentry / getsentry/sentry-python

cron interval "too short" warning is spammy

Open
#4,116 0 comments 0 reactions 0 assignees View on GitHub
Checks Improvement Python Quality Improvement
Dominant language
Python
Stars
2.2k
Forks
669
Avg merge
1d 1h
Merged PRs (30d)
213

Description

### How do you use Sentry?

Sentry Saas (sentry.io)

### Version

mainline

### Steps to Reproduce

sentry has a few celerybeat tasks which are configured with very short intervals -- the sdk emits this warning log line every time they run which produces a lot of logspam:

> Intervals shorter than one minute are not supported by Sentry Crons. Monitor 'getsentry-billing-usage-scan-usage-buffer' has an interval of 10 seconds. Use the exclude_beat_tasks option in the celery integration to exclude it.

### Expected Result

it should ideally only warn once per process

perhaps either by (ab)using the python `warnings` system or by wrapping the warning log line in an lru_cache

something like

```python
@functools.cache
def _warn_interval_too_short(monitor_name: str) -> None:
logger.warning(...)
```

### Actual Result

see above

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.