Ricerca…
introduzione
Casi d'uso
Ad esempio, se si sta inviando un'e-mail a un cliente dopo aver avviato un'attività, è meglio reindirizzare immediatamente l'utente alla pagina successiva durante l'accodamento dell'e-mail da inviare in background. Ciò velocizzerà il tempo di caricamento per la pagina successiva, poiché l'invio di un'email può richiedere talvolta diversi secondi o più.
Un altro esempio potrebbe essere l'aggiornamento di un sistema di inventario dopo che un cliente ha effettuato il checkout con il proprio ordine. Anziché attendere il completamento delle chiamate API, che potrebbero richiedere alcuni secondi, è possibile reindirizzare immediatamente l'utente alla pagina di verifica del checkout, accodando le chiamate API in modo che si verifichino in background.
Configurazione del driver della coda
Ciascuno dei driver di coda di Laravel è configurato dal file config/queue.php
. Un gestore di code è il gestore per la gestione di come eseguire un lavoro in coda, identificando se i lavori hanno avuto esito positivo o negativo, e tentando di nuovo il lavoro se configurato per farlo.
Subito dopo, Laravel supporta i seguenti driver di coda:
sync
Sync, o synchronous, è il driver di coda predefinito che esegue un lavoro in coda all'interno del processo esistente. Con questo driver abilitato, non si ha effettivamente alcuna coda mentre il lavoro in coda viene eseguito immediatamente. Ciò è utile per scopi locali o di test, ma chiaramente non è raccomandato per la produzione in quanto rimuove il vantaggio prestazionale derivante dall'impostazione della coda.
database
Questo driver memorizza i lavori in coda nel database. Prima di abilitare questo driver, è necessario creare tabelle di database per archiviare i lavori in coda e non riusciti:
php artisan queue:table
php artisan migrate
sqs
Questo driver di coda utilizza il servizio Simple Queue di Amazon per gestire i lavori in coda. Prima di abilitare questo lavoro è necessario installare il seguente pacchetto di composizione: aws/aws-sdk-php ~3.0
Inoltre, se si prevede di utilizzare i ritardi per i lavori in coda, Amazon SQS supporta solo un ritardo massimo di 15 minuti.
iron
Questo driver di coda utilizza Iron per gestire i lavori in coda.
redis
Questo driver di coda utilizza un'istanza di Redis per gestire i lavori in coda. Prima di utilizzare questo driver di coda, è necessario configurare una copia di Redis e installare la seguente dipendenza del compositore: predis/predis ~1.0
beanstalkd
Questo driver di coda utilizza un'istanza di Beanstalk per gestire i lavori in coda. Prima di utilizzare questo driver di coda, è necessario configurare una copia di Beanstalk e installare la seguente dipendenza del compositore: pda/pheanstalk ~3.0
null
Specificando null come driver della coda, si eliminano i lavori in coda.