Package Data | |
---|---|
Maintainer Username: | waisir |
Maintainer Contact: | lokielse@gmail.com (lokielse) |
Package Create Date: | 2016-07-11 |
Package Last Update: | 2019-09-19 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-11 15:20:03 |
Package Statistics | |
---|---|
Total Downloads: | 14,730 |
Monthly Downloads: | 12 |
Daily Downloads: | 1 |
Total Stars: | 26 |
Total Watchers: | 3 |
Total Forks: | 5 |
Total Open Issues: | 2 |
Via Composer
$ composer require lokielse/laravel-mns
Add following service providers into your providers array in config/app.php
Lokielse\LaravelMNS\LaravelMNSServiceProvider::class
Edit your config/queue.php
, add mns
connection
'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,
]
About wait_seconds
Edit your .env
file
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/
You should update QUEUE_MNS_ENDPOINT
to internal endpoint
in production mode
First create a queue and get queue endpoint at Aliyun MNS Console
Then update MNS_ENDPOINT
in .env
Push a test message to queue
Queue::push(function($job){
/**
* Your statments go here
*/
$job->delete();
});
Create queue listener, run command in terminal
$ php artisan queue:listen
Flush MNS messages on Aliyun
$ php artisan queue:mns:flush
Create RAM access control at Aliyun RAM Console
Create a custom policy such as AliyunMNSFullAccessFoobar
{
"Version": "1",
"Statement": [
{
"Action": "mns:*",
"Resource": [
"acs:mns:*:*:*/foobar-local",
"acs:mns:*:*:*/foobar-sandbox",
"acs:mns:*:*:*/foobar-production"
],
"Effect": "Allow"
}
]
}
Create a user for you app such as foobar
Assign the policy AliyunMNSFullAccessFoobar
to the user foobar
Create and get the AccessKeyId
and AccessKeySecret
for user foorbar
update QUEUE_MNS_ACCESS_KEY
and QUEUE_MNS_ACCESS_SECRET
in .env
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING and CONDUCT for details.
The MIT License (MIT). Please see License File for more information.