terranc/laravel-mns

Aliyun Mns Driver For Laravel Queue

1.0.3.1 2021-04-21 08:36 UTC

This package is not auto-updated.

Last update: 2024-05-02 20:38:50 UTC


README

Laravel 队列的阿里云消息服务(MNS)驱动。

StyleCI PSR2 Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License

安装

composer require milkmeowo/laravel-mns

配置

1.在 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-notify

删除队列

php artisan queue:mns:delete 队列名
// 例如
php artisan queue:mns:delete wechat-notify

显示队列内容

php artisan queue:mns:show 队列名
// 例如
php artisan queue:mns:show wechat-notify

删除队列所有内容

php artisan queue:mns:flush 队列名
// 例如
php artisan queue:mns:flush wechat-notify

测试

$ composer test

参考

许可

MIT