0Pricing
PHP Academy · Lezione

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 produzione
  • sqs — AWS Simple Queue Service
  • beanstalkd — veloce e leggero
  • sync — 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=6379

Configurazione del Driver database

Se utilizza il driver database, crei la tabella dei job.

$ php artisan queue:table
$ php artisan migrate

Avviare 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,default

queue: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:flush

Priorità 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 low

Dashboard 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

  1. Concetti e driver delle code
  2. Creazione e dispatch dei job
  3. Retry, ritardi e concatenamento dei job
  4. Monitoraggio delle code con Laravel Horizon
← Torna a PHP Academy