Final Class Yiisoft\Queue\Provider\CompositeQueueProvider
| Inheritance | Yiisoft\ |
|---|---|
| Implements | Yiisoft\ |
Combines typed providers; earlier providers take precedence per capability.
Public Methods
Method Details
public function __construct(QueueProducerProviderInterface|QueueConsumerProviderInterface ...$providers)
{
foreach ($providers as $provider) {
if ($provider instanceof QueueProducerProviderInterface) {
$this->producerProviders[] = $provider;
}
if ($provider instanceof QueueConsumerProviderInterface) {
$this->consumerProviders[] = $provider;
}
}
}
| public Yiisoft\ | ||
| $queueName | string|\ |
|
public function getConsumer(string|BackedEnum $queueName): QueueConsumerInterface
{
foreach ($this->consumerProviders as $provider) {
if ($provider->hasConsumer($queueName)) {
return $provider->getConsumer($queueName);
}
}
throw new QueueNotFoundException(StringNormalizer::normalize($queueName));
}
| public list |
public function getConsumerQueueNames(): array
{
$result = [];
foreach ($this->consumerProviders as $provider) {
foreach ($provider->getConsumerQueueNames() as $queueName) {
if (!in_array($queueName, $result, true)) {
$result[] = $queueName;
}
}
} return $result;
}
| public Yiisoft\ | ||
| $queueName | string|\ |
|
public function getProducer(string|BackedEnum $queueName): QueueProducerInterface
{
foreach ($this->producerProviders as $provider) {
if ($provider->hasProducer($queueName)) {
return $provider->getProducer($queueName);
}
}
throw new QueueNotFoundException(StringNormalizer::normalize($queueName));
}
| public list |
public function getProducerQueueNames(): array
{
$result = [];
foreach ($this->producerProviders as $provider) {
foreach ($provider->getProducerQueueNames() as $queueName) {
if (!in_array($queueName, $result, true)) {
$result[] = $queueName;
}
}
} return $result;
}
| public boolean hasConsumer ( string|\ | ||
| $queueName | string|\ |
|
public function hasConsumer(string|BackedEnum $queueName): bool
{
foreach ($this->consumerProviders as $p) {
if ($p->hasConsumer($queueName)) {
return true;
}
} return false;
}
| public boolean hasProducer ( string|\ | ||
| $queueName | string|\ |
|
public function hasProducer(string|BackedEnum $queueName): bool
{
foreach ($this->producerProviders as $p) {
if ($p->hasProducer($queueName)) {
return true;
}
} return false;
}
User Contributed Notes
Leave a comment
Join the conversation to share a note.