Laravel wachtrijen op localhost

In het PHP-framework Laravel zorgen workers zoals de supervisor ervoor dat taken die bijvoorbeeld in Redis zijn opgeslagen, in productieomgevingen worden uitgevoerd. Als je hier op localhost volledig onafhankelijk van wilt zijn, kun je de sync- driver gebruiken om taken direct uit te voeren. Dit heeft echter als nadeel dat het huidige PHP-proces wordt geblokkeerd en het verzoek blijft hangen totdat de taak is voltooid.


Het is beter om een ​​andere PHP-instantie aan te roepen die een eenmalige werkerpas initieert. De volgende implementatie zorgt ook voor verschillen tussen Windows / Mac / Linux. We definiëren een functie eerst op de gebruikelijke manier:

e24ced88a284d02f2ab5c64bb5905fce

Vervolgens maken we een algemene helper aan die voor de uitvoering zorgt:

e24ced88a284d02f2ab5c64bb5905fce

Ten slotte noemen we deze functie in een controller:

e24ced88a284d02f2ab5c64bb5905fce

Terug