lokielse / laravel-mns
阿里云MNS队列驱动程序适用于Laravel
v1.1.2
2018-05-16 19:34 UTC
Requires
- php: ~5.5|~7.0
- laravel/framework: ~5.1
- lokielse/aliyun-open-api-mns: ^1.0.2
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
README
安装
通过Composer
$ composer require lokielse/laravel-mns
配置
将以下服务提供者添加到你的 config/app.php
文件中的 providers 数组中
Lokielse\LaravelMNS\LaravelMNSServiceProvider::class
编辑你的 config/queue.php
文件,添加 mns
连接
'mns' => [ 'driver' => 'mns', 'key' => env('QUEUE_MNS_ACCESS_KEY'), 'secret' => env('QUEUE_MNS_SECRET_KEY'), 'endpoint' => env('QUEUE_MNS_ENDPOINT'), 'queue' => env('QUEUE_NAME'), 'wait_seconds' => 30, ]
关于 wait_seconds
编辑你的 .env
文件
QUEUE_DRIVER=mns QUEUE_NAME=foobar-local QUEUE_MNS_ACCESS_KEY=your_acccess_key QUEUE_MNS_SECRET_KEY=your_secret_key QUEUE_MNS_ENDPOINT=http://12345678910.mns.cn-hangzhou.aliyuncs.com/
在生产模式下,你应该将 QUEUE_MNS_ENDPOINT
更新为 内部端点
使用方法
首先在 阿里云MNS控制台 创建一个队列并获取队列端点
然后在 .env
中更新 MNS_ENDPOINT
向队列中推送一条测试消息
Queue::push(function($job){ /** * Your statments go here */ $job->delete(); });
创建队列监听器,在终端中运行命令
$ php artisan queue:listen
命令
在阿里云上刷新MNS消息
$ php artisan queue:mns:flush
安全性
在 阿里云RAM控制台 创建RAM访问控制
-
创建一个自定义策略,例如
AliyunMNSFullAccessFoobar
{ "Version": "1", "Statement": [ { "Action": "mns:*", "Resource": [ "acs:mns:*:*:*/foobar-local", "acs:mns:*:*:*/foobar-sandbox", "acs:mns:*:*:*/foobar-production" ], "Effect": "Allow" } ] }
-
为你的应用创建一个用户,例如
foobar
-
将策略
AliyunMNSFullAccessFoobar
分配给用户foobar
-
为用户
foorbar
创建并获取AccessKeyId
和AccessKeySecret
-
在
.env
中更新QUEUE_MNS_ACCESS_KEY
和QUEUE_MNS_ACCESS_SECRET
变更日志
请参阅 CHANGELOG 了解最近更改的信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CONDUCT 了解详细信息。
致谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。