我在queue.php中的应用程序我设置了:
'default' => env('QUEUE_DRIVER', 'rabbitmq'),
这适用于app中的大多数作业,但我也想使用'database'驱动程序并将作业添加到postgresql db。
当然,如果我将默认设置更改为:
'default' => env('QUEUE_DRIVER', 'database'),
然后,rabbitmq不起作用。
我不知道如何使用其他'QUEUE_DRIVER'而不是默认值?
我想将它们用于不同的工作。
它不起作用:
php artisan queue:listen database
因为那里什么也没有。
我会很高兴得到任何帮助。
答案 0 :(得分:2)
来自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()
仍使用默认连接。