getsentry / getsentry/sentry-python

cron interval "too short" warning is spammy

未关闭
#4,116 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Checks Improvement Python Quality Improvement
主要语言
Python
星标
2.2k
派生
669
平均合并
1 天 1 小时
30 天内合并 PR
213

描述

### 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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。