--- id: howto-guest-upload-failing title: How-to – Gäste können nicht hochladen sidebar_label: Gäste können nicht hochladen --- Dieses How‑to beschreibt, wie du vorgehst, wenn Gäste melden, dass sie keine Fotos mehr hochladen können (Fehler im Upload‑Flow oder „hängenbleibende“ Uploads). ## 1. Problem eingrenzen Fragen an den Tenant/Support: - Betrifft es **alle** Gäste oder nur einzelne? - Betrifft es **alle** Events oder nur ein bestimmtes Event? - Welche Fehlermeldung erscheint im Guest‑Frontend (so genau wie möglich, gerne mit Screenshot)? - Seit wann tritt das Problem auf? (Zeitfenster) Diese Informationen bestimmen, ob du in Richtung API/Rate‑Limit, Storage/Queues oder Event‑Konfiguration schauen musst. ## 2. Basischecks – API & App 1. **Public-API Status** - Teste manuell einen Upload gegen ein Test‑Event oder reproduziere das Problem mit dem betroffenen Join‑Token. - Achte auf HTTP‑Statuscodes im Browser‑Network‑Tab (4xx vs. 5xx). 2. **App- / Deployment-Status** - Prüfe in Docker/Dokploy, ob App/Queue/Redis/DB‑Container gesund sind. - Schaue in `storage/logs/laravel.log` nach offensichtlichen Exceptions rund um das gemeldete Zeitfenster. Wenn die Public‑API generell 5xx liefert, greift eher das Public‑API‑Incident‑Playbook (`docs/ops/deployment/public-api-incident-playbook.md`). ## 3. Queues & Upload-Health Wenn das Problem hauptsächlich Uploads betrifft (andere Funktionen laufen): 1. **Queue-Längen prüfen** - In Horizon: - `media-storage`, `media-security` und ggf. `notifications` Queue‑Längen ansehen. - In Logs: - Warnungen aus `storage:check-upload-queues` oder `storage-jobs` suchen. 2. **Upload-Health-Command** - Sicherstellen, dass `storage:check-upload-queues` regelmäßig läuft (Cron / Scheduler). - Manuell ausführen (in der App‑Container‑Shell): ```bash php artisan storage:check-upload-queues ``` - Ausgaben/Logs prüfen: - Meldungen zu „stalled“ Uploads, Events mit dauerhaft vielen Pending‑Assets. ## 4. Storage & Limit-Probleme 1. **Hot-Storage-Füllstand** - Prüfen, ob das Storage‑Volume/Bucket nahe an 100 % ist (siehe `docs/ops/dr-storage-issues.md`). - Wenn ja: - Archivierung beschleunigen (`storage:archive-pending` verifizieren). - Kurzfristig Speicher vergrößern oder Caches aufräumen. 2. **Paket-/Limit-Prüfungen** - Wenn nur bestimmte Events betroffen sind: - Paket‑Limits des Events prüfen (z.B. max_photos/max_guests). - Event‑Status (abgelaufen/archiviert?) prüfen. - Logs können Fehlercodes liefern wie „photo_limit_exceeded“ – diese deuten auf bewusst ausgelöste Limit‑Sperren hin, nicht auf technische Fehler. ## 5. Typische Muster & Gegenmaßnahmen - **Hohe Fehlerrate beim Upload (5xx)** - Hinweis auf API‑/Backend‑Problem: - Siehe Public‑API‑Runbook und App‑Logs (Datenbank‑/Redis‑Fehler, Timeouts). - **Uploads bleiben „ewig“ auf „wird verarbeitet“** - Queues laufen nicht oder `media-storage`/`media-security` steckt fest: - Horizon prüfen, ob Worker‑Container laufen. - Ggf. Worker neu starten und Failed Jobs analysieren. - **Nur ein Event betroffen, andere funktionieren** - Meist Limit‑ oder Konfig‑Thema (Paket voll, Galerie abgelaufen, Event deaktiviert). - Tenant‑Admin‑UI prüfen: Event‑Status, Paket‑Status, Data Lifecycle Einstellungen. ## 6. Kommunikation - **An Tenant/Support zurückmelden**: - Was war die Ursache? (z.B. Paket‑Limit, temporäre Überlastung, Storage‑Knappheit). - Was wurde getan? (z.B. Paket angepasst, Queues neu gestartet, Storage erweitert). - Ob und wie der Tenant/gäste weiteres tun müssen (z.B. Seite neu laden, später erneut probieren). Für tiefere Ursachen rund um Storage siehe `docs/ops/media-storage-spec.md` und `docs/ops/dr-storage-issues.md`.