You've already forked Php-Template
feat: enhance consumer initialization to support custom queue names
This commit is contained in:
@@ -13,7 +13,7 @@ class Consumer
|
||||
private static bool $shutDown = false;
|
||||
|
||||
private const array QUEUES = [
|
||||
Queues\DefaultQueue::class,
|
||||
'default' => Queues\DefaultQueue::class,
|
||||
];
|
||||
|
||||
private array $queues = [];
|
||||
@@ -22,9 +22,24 @@ class Consumer
|
||||
|
||||
private const string HANDLER_NAMESPACE = 'Siteworxpro\\App\\Async\\Handlers\\';
|
||||
|
||||
public function __construct()
|
||||
public function __construct(array $queues = [])
|
||||
{
|
||||
foreach (self::QUEUES as $queueClass) {
|
||||
if ($queues === []) {
|
||||
$queues = self::QUEUES;
|
||||
} else {
|
||||
$mappedQueues = [];
|
||||
foreach ($queues as $queueName) {
|
||||
if (isset(self::QUEUES[$queueName])) {
|
||||
$mappedQueues[] = self::QUEUES[$queueName];
|
||||
} else {
|
||||
throw new \InvalidArgumentException("Queue '$queueName' is not defined.");
|
||||
}
|
||||
}
|
||||
$queues = $mappedQueues;
|
||||
}
|
||||
|
||||
|
||||
foreach ($queues as $queueClass) {
|
||||
$this->queues[] = new $queueClass();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user