Ricerca…


introduzione

Le code consentono alla tua applicazione di riservare parti di lavoro che richiedono molto tempo per essere gestite da un processo in background.

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.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow