Final Class Yiisoft\Queue\Provider\QueueFactoryProvider
| Inheritance | Yiisoft\ |
|---|---|
| Implements | Yiisoft\ |
Lazily creates producer and consumer roles from strict nested role maps.
Public Methods
Method Details
| public mixed __construct ( array | ||
| $definitions | array |
|
| $container | ?\ |
|
| $validate | boolean | |
public function __construct(
array $definitions,
private readonly ?ContainerInterface $container = null,
private readonly bool $validate = true,
) {
/** @var array<string, array<string, mixed>> $validatedDefinitions */
$validatedDefinitions = $this->validateRoleMaps($definitions);
$this->definitions = $validatedDefinitions;
foreach ($this->definitions as $queueName => $roles) {
if (array_key_exists('producer', $roles)) {
$this->producerQueueNames[] = $queueName;
}
if (array_key_exists('consumer', $roles)) {
$this->consumerQueueNames[] = $queueName;
}
}
}
| public Yiisoft\ | ||
| $queueName | string|\ |
|
public function getConsumer(string|BackedEnum $queueName): QueueConsumerInterface
{
$consumer = $this->get($queueName, 'consumer', QueueConsumerInterface::class);
assert($consumer instanceof QueueConsumerInterface);
return $consumer;
}
| public array getConsumerQueueNames ( ) |
public function getConsumerQueueNames(): array
{
return $this->consumerQueueNames;
}
| public Yiisoft\ | ||
| $queueName | string|\ |
|
public function getProducer(string|BackedEnum $queueName): QueueProducerInterface
{
$producer = $this->get($queueName, 'producer', QueueProducerInterface::class);
assert($producer instanceof QueueProducerInterface);
return $producer;
}
| public array getProducerQueueNames ( ) |
public function getProducerQueueNames(): array
{
return $this->producerQueueNames;
}
| public boolean hasConsumer ( string|\ | ||
| $queueName | string|\ |
|
public function hasConsumer(string|BackedEnum $queueName): bool
{
return array_key_exists('consumer', $this->definitions[StringNormalizer::normalize($queueName)] ?? []);
}
| public boolean hasProducer ( string|\ | ||
| $queueName | string|\ |
|
public function hasProducer(string|BackedEnum $queueName): bool
{
return array_key_exists('producer', $this->definitions[StringNormalizer::normalize($queueName)] ?? []);
}
User Contributed Notes
Leave a comment
Join the conversation to share a note.