为什么即使我指定了具有不同连接的队列,Laravel也会使用默认队列连接
我对laravel队列有问题。在我的项目中,默认连接是sync,我想为一种作业类型添加sqs连接 以这种方式分派作业时:为什么即使我指定了具有不同连接的队列,Laravel也会使用默认队列连接,laravel,laravel-5,amazon-sqs,laravel-queue,Laravel,Laravel 5,Amazon Sqs,Laravel Queue,我对laravel队列有问题。在我的项目中,默认连接是sync,我想为一种作业类型添加sqs连接 以这种方式分派作业时: TestAction::dispatch()->onQueue('test'); TestAction::dispatch()->onQueue('test')->onConnection('sqsTestAction'); 立即执行作业(通过同步连接) 如果我以这种方式分派作业: TestAction::dispatch()->onQueue('
TestAction::dispatch()->onQueue('test');
TestAction::dispatch()->onQueue('test')->onConnection('sqsTestAction');
立即执行作业(通过同步连接)
如果我以这种方式分派作业:
TestAction::dispatch()->onQueue('test');
TestAction::dispatch()->onQueue('test')->onConnection('sqsTestAction');
一切都好
队列“test”在SQSTESTATION连接中,为什么在第一个示例中作业是通过同步连接发送的
My config/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'),
],
],
拉威尔版本5.8
为什么在第一个示例中,作业是通过同步连接发送的
因为您可以看到,它是默认设置的。将QUEUE\u CONNECTION
的.env
文件值更改为sqstestation
,这将成为默认值。
在config/queue文件的默认键中,第二个参数是当
.env
值不存在时的回退参数 好的,我认为默认连接不支持测试队列,所以这是我的误解。谢谢你的回答#对不起,我能帮忙吗