public function run(array
$options =
[]): void
{ $options =
array_merge([ 'sleep' => 1000000,
],
$options);
$queueNames =
$options['queues'
] ?? null;
$this->metadata->
set(['queueNames' =>
$queueNames]);
$this->eventDispatcher?->
dispatch(new WorkerStartedEvent($this));
if ($queueNames) { // if queue names are specified, all receivers must implement the QueueReceiverInterface
foreach ($this->receivers
as $transportName =>
$receiver) { if (!
$receiver instanceof QueueReceiverInterface
) { throw new RuntimeException(sprintf('Receiver for "%s" does not implement "%s".',
$transportName, QueueReceiverInterface::
class));
} } } while (!
$this->shouldStop
) {