Extension for work with queues.
Use composer
composer require "yiisolutions/yii2-migrations-advanced: *" or add to composer.json require section:
"yiisolutions/yii2-migrations-advanced": "*" First, we add to the configuration component.
<?php return [ // ... 'components' => [ // ... 'queue' => [ 'class' => 'yisolutions\queue\Queue', 'host' => 'localhost', 'port' => 5672, 'user' => 'guest', 'password' => 'guest', 'vhost' => '/', ], // ... ], // ... ];Next, to send data to the queue, we use the send() component method.
<?php use yiisolutions\queue\Queue; // ... $data = ['foo' => 'bar']; /** @var Queue $queue */ $queue = Yii::$app->get('queue'); $queue->send('queue.name', $data);We use the listen method to retrieve data.
<?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); });