如何在 laravel 5.1 队列中使用默认值以外的 QUEUE_DRIVER?

How to use other QUEUE_DRIVER than default in laravel 5.1 queue?

我的应用程序在 queue.php 我已经设置:

'default' => env('QUEUE_DRIVER', 'rabbitmq'),

这适用于应用程序中的大多数作业,但我也想使用 'database' 驱动程序并将作业添加到 postgresql 数据库。

如果我将默认设置更改为:

,它当然有效
'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() 仍在使用默认连接。