land/yii2-amqp

Yii2 AMQP 扩展(php-amqplib 包装器)。

维护者

详细信息

github.com/des1roer/yii2-amqp

源代码

安装: 4

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 1

类型:yii2-extension

dev-master 2018-12-18 05:22 UTC

This package is auto-updated.

Last update: 2024-09-18 18:13:24 UTC


README

Yii2 AMQP 扩展

安装

您只需运行以下命令

composer require sima-land/yii2-amqp

配置

示例配置

return [
    'components' => [
        'amqp' => [
            'class' => \simaland\amqp\Component::class,
            'connection' => [
                'dsn' => 'amqp://user:password@host:port/vHost?<param>=<value>'
            ],
            'queues' => [
                [
                    'name' => 'queueName',
                ],
            ],
            'exchanges' => [
                [
                    'name' => 'exchangeName',
                ],
            ],
            'routing' => [
                [
                    'sourceExchange' => 'exchangeName',
                    'targetQueue' => 'queueName',
                ],
            ],
            'consumer' => [
                'callbacks' => [
                    'queueName' => <implement of \simaland\amqp\components\consumer\CallbackInterface::class>,
                ],
            ],
        ],
    ],
];

测试

您必须通过运行此命令来测试您的更改

composer test

示例

class AmpqController {

    public function actionSend()
    {
        $msg = \Yii::$app->amqp->createMessage('Test');
        $exchange = \Yii::$app->amqp->exchanges->current();
        $exchange->declare();
        \Yii::$app->amqp->producer->publish($msg, $exchange);
    }

    public function actionListen()
    {
        \Yii::$app->amqp->consumer->declare();
        \Yii::$app->amqp->consumer->consume();
    }