$envelopeHandledStart =
$this->clock->
now();
foreach ($this->receivers
as $transportName =>
$receiver) { if ($queueNames) { $envelopes =
$receiver->
getFromQueues($queueNames);
} else { $envelopes =
$receiver->
get();
} foreach ($envelopes as $envelope) { $envelopeHandled = true;
$this->
rateLimit($transportName);
$this->
handleMessage($envelope,
$transportName);
$this->eventDispatcher?->
dispatch(new WorkerRunningEvent($this, false
));
if ($this->shouldStop
) { break 2;
} } // after handling a single receiver, quit and start the loop again
// this should prevent multiple lower priority receivers from
// blocking too long before the higher priority are checked