lokielse/laravel-mns is a Laravel package for aliyun mns queue driver for laravel.
It currently has 26 GitHub stars and 14.868 downloads on Packagist (latest version v1.1.2).
Install it with composer require lokielse/laravel-mns.
Discover more Laravel packages by lokielse
or browse all Laravel packages to compare alternatives.
Last updated
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.