Laravel 队列的阿里云消息服务(MNS)驱动。
composer require milkmeowo/laravel-mns1.在 config/app.php 注册 ServiceProvider(Laravel 5.5 无需手动注册)
'providers' => [
// ...
Milkmeowo\LaravelMns\LaravelMnsServiceProvider::class,
],2.在 config/queue.php 中增加 mns 配置:
'connections' => [
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'expire' => 60,
],
// 新增阿里云 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' => env('QUEUE_WAIT_SECONDS', 30),
],
],3.在 .env 增加
QUEUE_DRIVER=mns
QUEUE_NAME=your_queue_name
QUEUE_MNS_ACCESS_KEY=your_acccess_key
QUEUE_MNS_SECRET_KEY=your_secret_key
QUEUE_MNS_ENDPOINT=your-endpoint
# 关于 wait_seconds 可以看 https://help.aliyun.com/document_detail/35136.html
QUEUE_WAIT_SECONDS=30正常使用 Laravel Queue 即可:
php artisan queue:mns:list
// 例如
php artisan queue:mns:list
// 输入队列名以 prefix 开头的队列
php artisan queue:mns:list -p
# 请填写prefix:
# >
php artisan queue:mns:create 队列名
// 例如
php artisan queue:mns:create wechat-notifyphp artisan queue:mns:delete 队列名
// 例如
php artisan queue:mns:delete wechat-notifyphp artisan queue:mns:show 队列名
// 例如
php artisan queue:mns:show wechat-notifyphp artisan queue:mns:flush 队列名
// 例如
php artisan queue:mns:flush wechat-notify$ composer testMIT

