gustavorglima/laravel-json-sqs

该包最新版本(v1.0.3)没有可用的许可信息。

Laravel 5 SQS 连接器,使用 JSON 传输消息

v1.0.3 2018-04-18 12:13 UTC

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