4erk/yii2-queue-message

支持数据库和文件的 Yii2 队列消息扩展

安装: 20

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

1.0.0 2021-10-19 19:18 UTC

This package is auto-updated.

Last update: 2024-09-20 03:57:40 UTC


README

Yii2 的队列消息组件

安装

php composer.phar require --prefer-dist 4erk/yii2-queue-message

配置

Files 驱动的配置:common/config/main.php

'components' => [
    'messages' => [
        'class' => \yii\queue_message\QueueMessageFile::class
        'mutex' => \yii\mutex\FileMutex::class, // mutex driver
        //'path' => '@runtime/queue-message' // path for files
        //'ttr' => 30 // default time in seconds for read message from queue
        //'delay' => 0 // default delay time before read message from queue
        //'priority' => 1024 // default priority of message in queue 
    ]   
]

DataBase 驱动

'components' => [
    'db' => [
        // Database configuration
    ],
    'mutex' => \yii\mutex\MysqlMutex::class,
    'messages' => [
        'class' => \yii\queue_message\QueueMessageDB::class
        // 'mutex' => 'mutex' // mutex driver
        // 'db' => 'db' // DB driver
    ]   
]

并为 console/config/main.php 添加迁移

'controllerMap' => [
    'migrate' => [
        'class' => \yii\console\controllers\MigrateController::class
        'migrationNamespaces' => [
            'yii\queue_messages\migrations'
        ]   
    ]
]

使用方法

// Sending message in 'test' queue channel
Yii::$app->messages->send('test','some message');
Yii::$app->messages->send('test',['some data index'=>'some data value']);
Yii::$app->messages->send('test','message with custom property',
60 /* delay 1 min */,
3600 /* time to read 1 hour */,
1 /* priority */);
// Getting message from 'test' queue channel
$message = Yii::$app->messages->receive('test'); // return null if no message
// Clearing queue channel 
Yii::$app->messages->clear('test')