姚静伟 / laravel-mns
阿里云MNS队列驱动For Laravel
v1.0.10
2017-04-09 11:06 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)。请参阅许可证文件以获取更多信息。