gustavorglima / laravel-json-sqs
该包最新版本(v1.0.3)没有可用的许可信息。
Laravel 5 SQS 连接器,使用 JSON 传输消息
v1.0.3
2018-04-18 12:13 UTC
Requires
- php: >=5.5.0
- aws/aws-sdk-php: ~3.0
- illuminate/bus: 5.*
- illuminate/queue: 5.*
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2024-09-20 01:17:43 UTC
README
依赖项
- PHP >= 5.5
- Laravel >= 5.4
安装
首先,您需要使用 composer 引入该包
composer require gustavorglima/laravel-json-sqs
配置
现在打开 config/app.php 添加提供者
'providers' => [ ... GustavoLima\JsonSQS\LaravelServiceProvider::class, ];
发布 config/json-sqs.php
php artisan vendor:publish --provider="GustavoLima\JsonSQS\LaravelServiceProvider"
创建失败表
php artisan queue:failed-table
在 config/queue.php 上创建 json-sqs 连接
'json-sqs' => [ 'driver' => 'json-sqs', 'key' => env('SQS_KEY'), 'secret' => env('SQS_SECRET'), 'prefix' => env('SQS_PREFIX'), 'queue' => env('SQS_QUEUE'), 'region' => env('SQS_REGION'), ],
在 .env 中设置队列驱动
QUEUE_DRIVER=json-sqs
并配置您的凭证(示例)
SQS_KEY=ABCDEFGHIJKLMN
SQS_SECRET=abCDEFghiJKlmNOpqRStuVWXyzabCDEFghiJK
SQS_PREFIX=https://sqs.us-east-1.amazonaws.com/1234567890
SQS_QUEUE=sqs-queue-name
SQS_REGION=us-east-1
创建一个作业
为了读取 SQS 队列上发布的消息,我们需要创建一个作业
php artisan make:job TestJob
您处理方法必须像这样
public function handle(Job $job, $data) { dd($data); // Just to debug received message }
打开 config/json-sqs.php 并添加
'test-job' => App\Jobs\TestJob::class,
发布消息
要发布消息,相当简单,您只需要传递在 config/json-sqs.php 中指定的作业名称和数据,例如
dispatch( new Dispatcher('test-job', [ 'some' => 'data' ]) );
启动工作进程
php artisan queue:work json-sqs --tries=3
注意:在生产环境中,我们建议使用 Supervisor。