Concetti e driver delle code
Comprendere l'elaborazione asincrona e configurare driver di coda per database o Redis.
Concetti e driver delle code è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.
Che cosa sono le Queue?
Le queue consentono di rimandare le attività lente o che richiedono molte risorse (invio di e-mail, ridimensionamento di immagini, chiamate ad API esterne) a processi worker in background, mantenendo rapide le risposte HTTP.
Architettura delle Queue
Il processo principale (il server web) inserisce i job in una coda. Processi worker separati prelevano ed eseguono i job in modo asincrono.
Driver di Queue disponibili
Laravel supporta diversi backend per le queue:
database— job memorizzati nel database (utile per iniziare)redis— veloce e pronto per la produzionesqs— AWS Simple Queue Servicebeanstalkd— veloce e leggerosync— esegue immediatamente i job (sviluppo locale)
Configurare il Driver della Queue
Imposti il driver in .env.
# .env
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379Configurazione del Driver database
Se utilizza il driver database, crei la tabella dei job.
$ php artisan queue:table
$ php artisan migrateAvviare un Worker della Queue
Il processo worker preleva ed esegue i job dalla coda.
$ php artisan queue:work
# Or specify connection and queue:
$ php artisan queue:work redis --queue=emails,defaultqueue:listen e queue:work
queue:work carica l'applicazione una sola volta ed elabora i job in memoria: è più veloce, ma richiede il riavvio del worker dopo le modifiche al codice. queue:listen ricarica l'applicazione per ogni job: è più semplice durante lo sviluppo.
Job non riusciti
Quando un job non riesce dopo tutti i tentativi, viene memorizzato nella tabella failed_jobs. Lo visualizzi e lo ritenti con Artisan.
$ php artisan queue:failed
$ php artisan queue:retry all
$ php artisan queue:flushPriorità delle Queue
Definisca più queue con nome e assegni le priorità all'avvio del worker.
$ php artisan queue:work --queue=high,default,low
# Worker checks high first, then default, then lowDashboard di Horizon
Per le queue Redis, Laravel Horizon fornisce una dashboard in tempo reale che mostra il throughput, i job non riusciti e le statistiche dei worker.
Scegliere un Driver
Utilizzi sync in locale, database per i progetti di piccole dimensioni e redis per la scalabilità in produzione. Eviti SQS, a meno che non utilizzi già AWS e non abbia bisogno di una scalabilità illimitata.
Riepilogo
Le queue delegano il lavoro lento ai worker in background. Configuri il driver in .env, crei i job con Artisan e avvii i worker con queue:work. Monitori i job non riusciti nella tabella failed_jobs.
Verifica rapida
Quale driver di queue esegue i job immediatamente nello stesso processo?
Domande Frequenti
La lezione «Concetti e driver delle code» è gratuita?
Sì — il testo completo di «Concetti e driver delle code» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.
Cosa imparerò in «Concetti e driver delle code»?
Comprendere l'elaborazione asincrona e configurare driver di coda per database o Redis. Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare PHP Academy?
Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Concetti e driver delle code»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione PHP Academy?
Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Concetti e driver delle code
- Creazione e dispatch dei job
- Retry, ritardi e concatenamento dei job
- Monitoraggio delle code con Laravel Horizon