Я установил свои приложения в queue.php:
'default' => env('QUEUE_DRIVER', 'rabbitmq'),
это подходит для большинства рабочих мест в приложении, но я бы хотел использовать драйвер базы данных и добавлять рабочие места в postgresql db.
Это работает, конечно, если я изменяю настройку по умолчанию на:
'default' => env('QUEUE_DRIVER', 'database'),
Но тогда rabbitmq не работает.
Я не знаю, как использовать другой «QUEUE_DRIVER», чем по умолчанию?
Я хотел бы использовать оба для разных работ.
Это не работает:
php artisan queue:listen database
потому что там ничего нет.
Буду рад любой помощи.
От https://github.com/illuminate/queue/blob/master/README.md
use Illuminate\Queue\Capsule\Manager as Queue;
$queue = new Queue;
$queue->addConnection([
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
]);
// Make this Capsule instance available globally via static methods... (optional)
$queue->setAsGlobal();
Таким образом, вы сможете создать другой объект очереди, отличный от объекта по умолчанию (назовите его $rabbitQueue
например), используя пользовательское соединение / драйвер. Все последующие звонки $rabbitQueue->push()
к этому экземпляру будут отправлять сообщения в RabbitMQ. Другой $queue->push()
все еще использую соединение по умолчанию.
Других решений пока нет …