gpt4 book ai didi

laravel - 为什么 Laravel 使用默认队列连接,即使我指定了具有不同连接的队列

转载 作者:行者123 更新时间:2023-12-04 04:11:30 25 4
gpt4 key购买 nike

我对 Laravel 队列有疑问。在我的项目中,默认连接是同步的,我想为一种类型的作业添加 sqs 连接。

当我以这种方式 dispatch 工作时:

TestAction::dispatch()->onQueue('test');

作业立即执行(通过同步连接)。

如果我以这种方式 dispatch 工作:

TestAction::dispatch()->onQueue('test')->onConnection('sqsTestAction');

一切正常

队列“test”在 sqsTestAction 连接中,为什么第一个示例作业是通过同步连接发送的?

我的配置/queue.php:


'default' => env('QUEUE_CONNECTION', 'sync'),


'connections' => [

'sync' => [
'driver' => 'sync',
],

'sqsTestAction' => [
'driver' => 'sqs',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'prefix' => env('AWS_SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => "test",
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],

],

Laravel 版本 5.8

最佳答案

why in first example job is being sent by sync connection?

因为如您所见,它是默认设置的。将 QUEUE_CONNECTION.env 文件值更改为 sqsTestAction,这将成为默认值。在配置/队列文件的默认键中,第二个参数是当 .env 值不存在时的回退参数。

关于laravel - 为什么 Laravel 使用默认队列连接,即使我指定了具有不同连接的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61645819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com