3

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

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

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

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

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

但是后来rabbitmq不起作用。

我不知道如何使用除默认值之外的其他“QUEUE_DRIVER”?

我想将两者用于不同的工作。

它不起作用:

php artisan queue:listen database

因为那里什么都没有。

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

4

1 回答 1

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()仍在使用默认连接。

于 2016-02-03T14:39:57.163 回答