yiisolutions/yii2-queue

队列工作扩展

安装: 251

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

公开问题: 0

类型:yii2-extension

0.0.3 2017-04-30 12:26 UTC

This package is not auto-updated.

Last update: 2024-09-25 00:27:54 UTC


README

队列工作扩展。

安装

使用 composer

composer require "yiisolutions/yii2-migrations-advanced: *"

或在 composer.json 的 require 部分添加

"yiisolutions/yii2-migrations-advanced": "*"

配置

首先,我们将它添加到配置组件中。

<?php

return [
    // ...
    'components' => [
        // ...
        'queue' => [
            'class' => 'yisolutions\queue\Queue',
            'host' => 'localhost',
            'port' => 5672,
            'user' => 'guest',
            'password' => 'guest',
            'vhost' => '/',
        ],
        // ...
    ],
    // ...
];

发送数据

接下来,为了将数据发送到队列,我们使用 send() 组件方法。

<?php

use yiisolutions\queue\Queue;

// ...
$data = ['foo' => 'bar'];

/** @var Queue $queue */
$queue = Yii::$app->get('queue');
$queue->send('queue.name', $data);

接收数据

我们使用 listen 方法来检索数据。

<?php

use yiisolutions\queue\Queue;
use PhpAmqpLib\Message\AMQPMessage;

// ...
/** @var Queue $queue */
$queue = Yii::$app->get('queue');
$queue->listen('queue.name', function(AMQPMessage $msg) use ($queue) {
    // process data
    
    // acknowledgment message
    $queue->acknowledgmentMessage($msg);
});