Php 如何使用laravel 5.1队列中默认以外的其他队列驱动程序?

Php 如何使用laravel 5.1队列中默认以外的其他队列驱动程序?,php,laravel-5.1,laravel-queue,Php,Laravel 5.1,Laravel Queue,我在queue.php中设置了我的应用程序: 'default' => env('QUEUE_DRIVER', 'rabbitmq'), 这适用于应用程序中的大多数作业,但我也希望使用“数据库”驱动程序并将作业添加到postgresql数据库 如果我将默认设置更改为: 'default' => env('QUEUE_DRIVER', 'database'), 但是rabbitmq不起作用 我不知道如何使用默认值以外的其他“队列驱动程序” 我想用这两个不同的工作 它不起作用: ph

我在queue.php中设置了我的应用程序:

'default' => env('QUEUE_DRIVER', 'rabbitmq'),
这适用于应用程序中的大多数作业,但我也希望使用“数据库”驱动程序并将作业添加到postgresql数据库

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

'default' => env('QUEUE_DRIVER', 'database'),
但是rabbitmq不起作用

我不知道如何使用默认值以外的其他“队列驱动程序”

我想用这两个不同的工作

它不起作用:

php artisan queue:listen database
因为那里什么都没有

我很高兴能得到任何帮助。

来自


通过这种方式,您应该能够使用自定义连接/驱动程序创建另一个队列对象,而不是默认对象(例如,将其命名为
$rabbitQueue
)。对该实例的所有后续调用
$rabbitQueue->push()
都将消息推送到RabbitMQ。其他
$queue->push()
仍使用默认连接。

谢谢,这很有帮助。我做的很简单:Queue::connection('database')->push($job);
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();