9 lines
1.0 KiB
Markdown
9 lines
1.0 KiB
Markdown
## Task 5: Rate-Limit + Ruhezeiten
|
|||
|
|
|
||
|
|
Blockiert durch: 04. Liefert: Daemon-Gesetz gegen Spam.
|
||
|
|
|
||
|
|
- Rate-Limit in Queue: Default **1 Ansage / 30 s** (konfigurierbar `queue.rate_limit = "30s"`); Tokens/Zeitfenster-Logik; `now:true` umgeht Warteschlangen-Wartezeit nicht das Rate-Limit; bei Überschreitung: Items mit `priority=low` werden **verworfen**, `normal` wartet, `high` darf konfigurierbar verstoßen (`queue.allow_high_burst = true|false`, Default true).
|
||
|
|
- `quiet_hours`: Config `quiet_hours = "18:00-08:00"` (lokale Zeit, 24h, über Mitternacht); Verhalten configbar: `quiet_mode = "discard"|"toast"` (Default `discard`); Mute (manuell) hat immer Vorrang; `now:true` bricht auch quiet hours (bewusster Ausbruch, dokumentiert).
|
||
|
|
- Tests an der Prozessgrenze: kurzes Rate-Limit (z. B. 1/s) konfigurieren; 5 enqueues → 1 abgespielt, low verworfen, normal geparkt; quiet_hours-Fenster künstlich um die aktuelle Zeit legen → discard/toast-Verhalten.
|
||
|
|
- Abnahme: Tests grün; `talk status` zeigt Rate-Limit- und Quiet-Hours-State.
|
||
|
|
|