首页 > 解决方案 > 如何在 laravel queue.php 中设置多个队列

问题描述

我正在尝试在 laravel 的 queue.php 中设置多个队列。

找到的文档指定了如何设置队列,并讨论了多个队列,但没有指定如何在 queue.php 中设置它们

  'sqs-fifo' => [
        'driver' => 'sqs-fifo',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'prefix' => env('SQS_PREFIX', 'myqueurl'),
        'queue' => env('SQS_QUEUE', 'queue1.fifo'),
        'suffix' => env('SQS_SUFFIX'),
        'region' => env('AWS_DEFAULT_REGION', 'ap-northeast-1'),
        'group' => 'default',
        'deduplicator' => 'unique'
    ],

在哪里指定其他队列的名称?

标签: laravelamazon-sqs

解决方案


Laravel 文档没有指定这一点,但是如果您在 Amazon SQS 中创建了多个队列,例如:

queue1.fifo queue2.fifo queue3.fifo

您只需要在 queue.php 文件中配置您的默认队列,并且只需指定它们的名称,就可以自由地将作业排队到您在 Amazon SQS 中创建的其他队列中。无需将其添加到配置文件中。

例子:

ProcessMyJob::dispatch()->onQueue('queue2.fifo');

在上面的示例中,您可以看到我正在告诉作业在 Amazon SQS 上设置的名为“queue2.fifo”的队列上调度“ProcessMyJob”作业。


推荐阅读