我正在用rabbitmq开发Laravel 5.1.46 (LTS),用于使用套餐的消息队列
.env
QUEUE_DRIVER=rabbitmqconfig/queue.php
'rabbitmq' => [
'driver' => 'rabbitmq',
'host' => env('RABBITMQ_HOST', '127.0.0.1'),
'port' => env('RABBITMQ_PORT', 5672),
'vhost' => env('RABBITMQ_VHOST', '/'),
'login' => env('RABBITMQ_LOGIN', 'guest'),
'password' => env('RABBITMQ_PASSWORD', 'guest'),
// name of the default queue,
'queue' => env('RABBITMQ_QUEUE'),
// create the exchange if not exists
'exchange_declare' => true,
// create the queue if not exists and bind to the exchange
'queue_declare_bind' => true,
'queue_params' => [
'passive' => false,
'durable' => true, // false
'exclusive' => false,
'auto_delete' => false,
],
'exchange_params' => [
// more info at http://www.rabbitmq.com/tutorials/amqp-concepts.html
'type' => env('RABBITMQ_EXCHANGE_TYPE', 'direct'),
'passive' => false,
// the exchange will survive server restarts
'durable' => true, // fakse
'auto_delete' => false,
]我总共有8队列。队列名存储在.env文件中。
QUEUE_ONE=queue-one
QUEUE_TWO=queue-two
.
.
.
QUEUE_EIGHT=queue-eight在分派工作的时候,
dispatch(new Job1())->onQueue(env('QUEUE_ONE'))队列和消息是持久的/持久的。
由于一些性能问题,我需要更改一些队列及其消息的持久性。所以,
怎么可能-在拉拉维尔和拉比?
注:我知道,我可以
durable = false但它适用于所有排队的人,
发布于 2019-08-22 08:04:55
// config/queue.php
'rabbitmq_durable' => [
'driver' => 'rabbitmq',
// ...
'queue_params' => [
'passive' => false,
'durable' => true,
'exclusive' => false,
'auto_delete' => false,
],
// ...
],
'rabbitmq_not_durable' => [
'driver' => 'rabbitmq',
// ...
'queue_params' => [
'passive' => false,
'durable' => false,
'exclusive' => false,
'auto_delete' => false,
],
// ...
]Laravel 5.1
要在Laravel5.1上使用不同的信任和不同的连接,您必须使用Queue面板:
Queue::connection('rabbitmq_durable')->pushOn('queue_1', TestJob::class);
Queue::connection('rabbitmq_not_durable')->pushOn('queue_6', TestJob::class);Laravel 5.2+
要在Laravel5.2及以后使用不同的信任和不同的连接,您可以使用如下的onConnection()方法:
TestJob::dispatch()->onQueue('queue_one')->onConnection('rabbitmq_durable');
TestJob::dispatch()->onQueue('queue_six')->onConnection('rabbitmq_not_durable');https://stackoverflow.com/questions/57524745
复制相似问题