Skip to content

Fix: seen_events TTL-Bereinigung und Log-Rotation - #9

Open
Sleepwalker86 wants to merge 1 commit into
mainfrom
fix/seen-events-ttl-and-log-rotation
Open

Fix: seen_events TTL-Bereinigung und Log-Rotation#9
Sleepwalker86 wants to merge 1 commit into
mainfrom
fix/seen-events-ttl-and-log-rotation

Conversation

@Sleepwalker86

Copy link
Copy Markdown
Owner

Zusammenfassung

  • seen_events Speicherleck behoben: Das bisherige set wuchs bei Langzeitbetrieb unbegrenzt, weil Einträge nie entfernt wurden. Umgestellt auf ein dict, das pro Eintrag den Zeitstempel des ersten Empfangs speichert. Die neue Coroutine cleanup_seen_events() läuft stündlich und löscht alle Einträge, die älter als 24 Stunden sind (SEEN_EVENTS_TTL_SECONDS).
  • Log-Rotation eingeführt: logging.basicConfig ersetzt durch RotatingFileHandler — rotiert automatisch bei 5 MB und behält 3 Backup-Dateien (log.txt.1 bis log.txt.3). Die log.txt wuchs bisher unbegrenzt.
  • Version auf 4.1.0 erhöht.

Geänderte Dateien

  • main.py

Test

  • Script starten, mehrere Statuswechsel auslösen → Duplikat-Filter funktioniert wie bisher
  • Nach 1 h prüfen, ob seen_events: X abgelaufene Einträge entfernt. im Log erscheint
  • Log bis 5 MB füllen → log.txt.1 wird automatisch angelegt

🤖 Generated with Claude Code

- seen_events von set auf dict umgestellt: jeder Eintrag speichert den
  Zeitstempel des ersten Empfangs; cleanup_seen_events() läuft stündlich
  und entfernt Einträge älter als 24 h (SEEN_EVENTS_TTL_SECONDS).
- Log-Rotation via RotatingFileHandler: rotiert bei 5 MB, behält 3
  Backup-Dateien (log.txt.1 – log.txt.3).
- Version auf 4.1.0 erhöht.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant