I have a Laravel 5.7 (with PHP 7.2) application that uses events and listeners with Redis queues. I have some workers that consume the queue and execute the listeners.
this is my event and listeners interaction in the EventServiceProvider
class:
protected $listen = [
SavedObject::class => [
Listener1::class,
Listener2::class,
Listener3::class,
],
];
My problem is that I need that Listener2
executes and finishes before Listener3
is even executed. Laravel ensures that the listeners are executed in order, but if I have multiple workers, the Listener2
is executed and before it's finished, another worker executes Listener3
and it ruins everything.
How can I ensure that Listener2
finishes before starting Listener3
execution? Maybe a way to execute all of the Listeners of the same event using the same worker to ensure that?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire