Skip to content

Warteschlange bei Limit-Erreichung #6

Description

@malziland

Beschreibung

Wenn das Stundenlimit erreicht ist, sollen Nutzer in eine Warteschlange gestellt werden statt nur eine Fehlermeldung zu sehen. Sobald ein Slot frei wird (rollender Eintrag faellt raus), bekommt der naechste in der Queue automatisch seinen Platz.

Motivation

Andere Trainer die malziME self-hosten haben nicht unbedingt die Moeglichkeit, per Boost-Button manuell einzugreifen. Eine automatische Warteschlange macht das Tool selbststaendig nutzbar.

Konzept

  • Token: Zufaellig generiert, in sessionStorage (kein Cookie, kein Tracking)
  • Polling als Heartbeat: Client pollt alle 10s /api/queue/status?token=xxx. Kein Poll fuer 60s → Platz wird freigegeben.
  • Ablauf: Limit erreicht → Token + Position → Polling → Slot frei + Erster → 30s Zeitfenster fuer Analyse → Slot verbraucht
  • UI: "Du bist Platz X in der Warteschlange" statt "Limit erreicht"

Offene Fragen

  • Firestore-Kosten bei vielen Heartbeats (alle 10s pro wartendem User)?
  • Alternative: Realtime-Listener statt Polling (Firebase SDK self-hosted)?
  • Max. Queue-Laenge begrenzen?

Abhaengigkeiten

  • Setzt das rollende Fenster voraus (v1.2.0, recentAnalyses-Array)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions