Files
fotospiel-app/docs/ops/howto-guest-upload-failing.md
2025-11-20 12:31:21 +01:00

3.8 KiB
Raw Permalink Blame History

id, title, sidebar_label
id title sidebar_label
howto-guest-upload-failing How-to Gäste können nicht hochladen Gäste können nicht hochladen

Dieses Howto beschreibt, wie du vorgehst, wenn Gäste melden, dass sie keine Fotos mehr hochladen können (Fehler im UploadFlow 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 GuestFrontend (so genau wie möglich, gerne mit Screenshot)?
  • Seit wann tritt das Problem auf? (Zeitfenster)

Diese Informationen bestimmen, ob du in Richtung API/RateLimit, Storage/Queues oder EventKonfiguration schauen musst.

2. Basischecks API & App

  1. Public-API Status
    • Teste manuell einen Upload gegen ein TestEvent oder reproduziere das Problem mit dem betroffenen JoinToken.
    • Achte auf HTTPStatuscodes im BrowserNetworkTab (4xx vs. 5xx).
  2. App- / Deployment-Status
    • Prüfe in Docker/Dokploy, ob App/Queue/Redis/DBContainer gesund sind.
    • Schaue in storage/logs/laravel.log nach offensichtlichen Exceptions rund um das gemeldete Zeitfenster.

Wenn die PublicAPI generell 5xx liefert, greift eher das PublicAPIIncidentPlaybook (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 QueueLä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 AppContainerShell):
      php artisan storage:check-upload-queues
      
    • Ausgaben/Logs prüfen:
      • Meldungen zu „stalled“ Uploads, Events mit dauerhaft vielen PendingAssets.

4. Storage & Limit-Probleme

  1. Hot-Storage-Füllstand
    • Prüfen, ob das StorageVolume/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:
      • PaketLimits des Events prüfen (z.B. max_photos/max_guests).
      • EventStatus (abgelaufen/archiviert?) prüfen.
    • Logs können Fehlercodes liefern wie „photo_limit_exceeded“ diese deuten auf bewusst ausgelöste LimitSperren hin, nicht auf technische Fehler.

5. Typische Muster & Gegenmaßnahmen

  • Hohe Fehlerrate beim Upload (5xx)
    • Hinweis auf API/BackendProblem:
      • Siehe PublicAPIRunbook und AppLogs (Datenbank/RedisFehler, Timeouts).
  • Uploads bleiben „ewig“ auf „wird verarbeitet“
    • Queues laufen nicht oder media-storage/media-security steckt fest:
      • Horizon prüfen, ob WorkerContainer laufen.
      • Ggf. Worker neu starten und Failed Jobs analysieren.
  • Nur ein Event betroffen, andere funktionieren
    • Meist Limit oder KonfigThema (Paket voll, Galerie abgelaufen, Event deaktiviert).
    • TenantAdminUI prüfen: EventStatus, PaketStatus, Data Lifecycle Einstellungen.

6. Kommunikation

  • An Tenant/Support zurückmelden:
    • Was war die Ursache? (z.B. PaketLimit, temporäre Überlastung, StorageKnappheit).
    • 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.