Zoeken…


Invoering

Met wachtrijen kan uw toepassing stukjes werk reserveren die tijdrovend zijn om door een achtergrondproces te worden afgehandeld.

Use-cases

Als u bijvoorbeeld een e-mail naar een klant verzendt na het starten van een taak, is het het beste om de gebruiker onmiddellijk naar de volgende pagina te leiden terwijl u de e-mail in de wachtrij plaatst om op de achtergrond te worden verzonden. Dit versnelt de laadtijd voor de volgende pagina, omdat het verzenden van een e-mail soms enkele seconden of langer kan duren.

Een ander voorbeeld is het bijwerken van een voorraadsysteem nadat een klant heeft uitgecheckt met hun bestelling. In plaats van te wachten tot de API-aanroepen zijn voltooid, wat enkele seconden kan duren, kunt u de gebruiker onmiddellijk omleiden naar de succespagina voor het afrekenen, terwijl u de API-aanroepen in de wachtrij zet op de achtergrond.

Wachtrij stuurprogramma configuratie

Elk van de wachtrijdrivers van Laravel wordt geconfigureerd vanuit het bestand config/queue.php . Een wachtrijstuurprogramma is de handler voor het beheren van het uitvoeren van een wachtrijtaak, om te bepalen of de taken zijn geslaagd of mislukt en om de taak opnieuw te proberen als dit is geconfigureerd.

Out of the box ondersteunt Laravel de volgende wachtrijdrivers:

sync

Synchronisatie of synchroon is het standaardwachtrijstuurprogramma dat een wachtrijtaak uitvoert binnen uw bestaande proces. Als dit stuurprogramma is ingeschakeld, hebt u feitelijk geen wachtrij omdat de in de wachtrij geplaatste taak onmiddellijk wordt uitgevoerd. Dit is handig voor lokale of testdoeleinden, maar wordt duidelijk niet aanbevolen voor productie, omdat hierdoor het prestatievoordeel van het instellen van uw wachtrij wordt weggenomen.

database

Dit stuurprogramma slaat taken in de wachtrij op in de database. Voordat u dit stuurprogramma inschakelt, moet u databasetabellen maken om uw in de wachtrij geplaatste en mislukte taken op te slaan:

php artisan queue:table
php artisan migrate

sqs

Dit wachtrijstuurprogramma gebruikt de Simple Queue Service van Amazon om taken in de wachtrij te beheren. Voordat u deze taak inschakelt, moet u het volgende componistenpakket installeren: aws/aws-sdk-php ~3.0

Houd er ook rekening mee dat als u van plan bent vertragingen te gebruiken voor taken in de wachtrij, Amazon SQS alleen een maximale vertraging van 15 minuten ondersteunt.

iron

Deze wachtrijstuurprogramma's gebruiken Iron om taken in de wachtrij te beheren.

redis

Dit wachtrijstuurprogramma gebruikt een exemplaar van Redis om taken in de wachtrij te beheren. Voordat u dit wachtrijstuurprogramma gebruikt, moet u een kopie van Redis configureren en de volgende afhankelijkheid van de componist installeren: predis/predis ~1.0

beanstalkd

Dit wachtrijstuurprogramma gebruikt een exemplaar van Beanstalk om taken in de wachtrij te beheren. Voordat u dit wachtrijstuurprogramma gebruikt, moet u een kopie van Beanstalk configureren en de volgende afhankelijkheid van de componist installeren: pda/pheanstalk ~3.0

null

Als u null opgeeft als uw wachtrijstuurprogramma, worden alle taken in de wachtrij verwijderd.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow