Sök…


Introduktion

I köerna kan din ansökan reservera bitar av arbete som är tidskrävande att hanteras med en bakgrundsprocess.

USE-fall

Om du till exempel skickar ett e-postmeddelande till en kund efter att du har startat en uppgift är det bäst att omedelbart omdirigera användaren till nästa sida medan du står i kö i e-postmeddelandet som ska skickas i bakgrunden. Detta påskyndar laddningstiden för nästa sida, eftersom det kan ta flera sekunder eller längre att skicka ett e-postmeddelande.

Ett annat exempel skulle vara att uppdatera ett lagersystem efter att en kund har checkat ut med sin beställning. I stället för att vänta på att API-samtal ska slutföras, vilket kan ta flera sekunder, kan du omedelbart omdirigera användaren till kassas framgångssida medan du står i kö för att API-samtal ska hända i bakgrunden.

Kön drivrutinkonfiguration

Var och en av Laravels ködrivrutiner konfigureras från filen config/queue.php . En ködrivare är hanteraren för att hantera hur man kör ett köjobb, identifiera om jobben lyckades eller misslyckades och försöker jobbet igen om det är konfigurerat för att göra det.

Ut ur rutan stöder Laravel följande ködrivrutiner:

sync

Synkronisering, eller synkron, är standardköddrivrutinen som kör ett jobb i kö i din befintliga process. När den här drivrutinen är aktiverad har du i själva verket ingen kö eftersom köjobbet körs omedelbart. Detta är användbart för lokala eller testande ändamål, men rekommenderas helt klart inte för produktion eftersom det tar bort prestationsfördelen av att ställa in din kö.

database

Den här drivrutinen lagrar jobb i kö i databasen. Innan du aktiverar den här drivrutinen måste du skapa databastabeller för att lagra dina kö och misslyckade jobb:

php artisan queue:table
php artisan migrate

sqs

Den här ködrivrutinen använder Amazons Simple Queue Service för att hantera köjobb. Innan du aktiverar detta jobb måste du installera följande kompositpaket: aws/aws-sdk-php ~3.0

Observera också att om du planerar att använda förseningar för jobb i kö, stöder Amazon SQS endast en maximal fördröjning på 15 minuter.

iron

Den här ködrivrutinen använder Iron för att hantera köer som är i kö.

redis

Den här ködrivrutinen använder en instans av Redis för att hantera köjobb. Innan du använder denna ködrivrutin måste du konfigurera en kopia av Redis och installera följande kompositörberoende: predis/predis ~1.0

beanstalkd

Den här kön drivrutinen använder en instans av Beanstalk för att hantera köer jobb. Innan du använder denna ködrivrutin måste du konfigurera en kopia av Beanstalk och installera följande kompositörberoende: pda/pheanstalk ~3.0

null

Om du anger null som din ködrivrutin kommer du att kassera eventuella köjobb.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow