You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

28 lines
523 B

<?php
namespace core\dispatchers;
use core\jobs\AsyncEventJob;
use yii\queue\Queue;
class AsyncEventDispatcher implements EventDispatcher
{
private Queue $queue;
public function __construct(Queue $queue)
{
$this->queue = $queue;
}
public function dispatchAll(array $events): void
{
foreach ($events as $event) {
$this->dispatch($event);
}
}
public function dispatch($event): void
{
$this->queue->push(new AsyncEventJob($event));
}
}