Agent-Hellboy / Agent-Hellboy/gunicorn-prometheus-exporter

Implement fail-fast exception handling for configuration validation and critical setup

未關閉
#91 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement good first issue
主要語言
Python
星號
18
分支
1
PR 合併指標
30 天內沒有已合併 PR

描述

## Problem
Configuration errors are currently consumed gracefully when they should fail fast to prevent runtime issues.

## Changes Needed

### High Priority
1. **Add validation to config properties**:
- `redis_port`: Validate range 1-65535
- `redis_db`: Validate >= 0
- `redis_ttl_seconds`: Validate >= 0

2. **Fix config.validate() method**:
- Re-raise `ValueError`/`KeyError` instead of returning `False`
- Only consume unexpected errors

### Medium Priority
3. **Redis connection setup**: Differentiate critical (connection/auth) vs optional errors
4. **Server startup**: Fail fast for permissions/file access, graceful for non-critical

### Keep Graceful (No Changes)
- Signal handlers, metrics updates, cleanup operations

## Strategy
**Fail Fast**: Configuration, critical connections, required resources
**Degrade Gracefully**: Runtime operations, optional features, cleanup

Related to PR #82 configuration validation improvements.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。