Konzepte und Treiber von Queues
Verstehen Sie asynchrone Verarbeitung und konfigurieren Sie Datenbank- oder Redis-Queue-Treiber.
Konzepte und Treiber von Queues ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was sind Queues?
Queues ermöglichen es Ihnen, langsame oder ressourcenintensive Aufgaben (E-Mails senden, Bilder skalieren, externe APIs aufrufen) an Hintergrund-Worker auszulagern, damit Ihre HTTP-Antworten schnell bleiben.
Queue-Architektur
Der Hauptprozess (Webserver) legt Jobs in eine Queue. Separate Worker-Prozesse rufen Jobs ab und führen sie asynchron aus.
Verfügbare Queue-Treiber
Laravel unterstützt mehrere Queue-Backends:
database— Jobs werden in der Datenbank gespeichert (gut für den Einstieg)redis— schnell und produktionsbereitsqs— AWS Simple Queue Servicebeanstalkd— schnell und schlanksync— wird sofort ausgeführt (lokale Entwicklung)
Queue-Treiber konfigurieren
Legen Sie den Treiber in .env fest.
# .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379Einrichtung des database-Treibers
Wenn Sie den database-Treiber verwenden, erstellen Sie die Jobs-Tabelle.
$ php artisan queue:table
$ php artisan migrateQueue-Worker starten
Der Worker-Prozess ruft Jobs aus der Queue ab und führt sie aus.
$ php artisan queue:work
# Or specify connection and queue:
$ php artisan queue:work redis --queue=emails,defaultqueue:listen vs queue:work
queue:work lädt die Anwendung einmal und verarbeitet Jobs im Speicher — schneller, erfordert aber nach Codeänderungen einen Neustart des Workers. queue:listen lädt die Anwendung für jeden Job neu — einfacher während der Entwicklung.
Fehlgeschlagene Jobs
Wenn ein Job nach allen Wiederholungsversuchen fehlschlägt, wird er in der Tabelle failed_jobs gespeichert. Zeigen Sie ihn mit Artisan an und starten Sie ihn erneut.
$ php artisan queue:failed
$ php artisan queue:retry all
$ php artisan queue:flushQueue-Prioritäten
Definieren Sie mehrere benannte Queues und weisen Sie beim Starten des Workers Prioritäten zu.
$ php artisan queue:work --queue=high,default,low
# Worker checks high first, then default, then lowHorizon-Dashboard
Für Redis-Queues bietet Laravel Horizon ein ansprechendes Echtzeit-Dashboard mit Informationen zu Durchsatz, fehlgeschlagenen Jobs und Worker-Statistiken.
Einen Treiber auswählen
Verwenden Sie lokal sync, für kleine Projekte database und für den Produktionseinsatz in größerem Maßstab redis. Vermeiden Sie SQS, außer Sie arbeiten bereits mit AWS und benötigen unbegrenzte Skalierbarkeit.
Zusammenfassung
Queues lagern langsame Aufgaben an Hintergrund-Worker aus. Konfigurieren Sie den Treiber in .env, erstellen Sie Jobs mit Artisan und starten Sie Worker mit queue:work. Überwachen Sie fehlgeschlagene Jobs in der Tabelle failed_jobs.
Schnelltest
Welcher Queue-Treiber führt Jobs sofort im selben Prozess aus?
Häufig gestellte Fragen
Ist die Lektion „Konzepte und Treiber von Queues“ kostenlos?
Ja — der vollständige Text von „Konzepte und Treiber von Queues“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Konzepte und Treiber von Queues“?
Verstehen Sie asynchrone Verarbeitung und konfigurieren Sie Datenbank- oder Redis-Queue-Treiber. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Konzepte und Treiber von Queues“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Konzepte und Treiber von Queues
- Jobs erstellen und auslösen
- Job-Wiederholungen, Verzögerungen und Verkettung
- Queues mit Laravel Horizon überwachen