Im PHP-Framework Laravel innerhalb von Produktivumgebungen sorgen Worker wie Supervisor dafür, dass die in beispielsweise Redis abgespeicherten Jobs abgearbeitet werden. Will man davon auf localhost gänzlich unabhängig sein, nutzt man entweder den sync-Treiber, um die Jobs immer sofort auszuführen. Das hat den Nachteil, dass der aktuelle PHP-Prozess geblockt ist und der Request hängt, bis der Job abgearbeitet wurde.
Besser ist es, eine weitere PHP-Instanz aufzurufen, die einen einmaligen Worker-Durchlauf initiiert. Die nachfolgende Implementierung kümmert sich dabei auch um Windows/Mac/Linux-Unterschiede. Wir definieren zunächst auf gewöhnlichem Wege einen Job:
e24ced88a284d02f2ab5c64bb5905fce
Anschließend erstellen wir einen allgemeinen Helper, der sich um die Ausführung kümmert:
e24ced88a284d02f2ab5c64bb5905fce
Schließlich rufen wir in einem Controller diese Funktion auf:
e24ced88a284d02f2ab5c64bb5905fce