# Создание обработчиков
Для обработки сообщения необходимы два класса:
- Класс-сообщение, который содержит необходимые данные.
- Класс-обработчик, который занимается обработкой сообщения.
Класс-обработчик должен реализовывать интерфейс Symfony\Component\Messenger\Handler\MessageHandlerInterface
и иметь метод __invoke()
, который принимает в качестве входного параметра объект класса-сообщения.
# Регистрация обработчика
Обработчики регистрируются с помощью метода addMessageHandler
Пример:
<?php
// local/php_interface/init.php
use App\MessageHandler\MyMessageHandler;
use Bitrix\Main\Loader;
use Bsi\Queue\Queue;
if (Loader::includeModule('bsi.queue')) {
$queue = Queue::getInstance();
$queue->addMessageHandler(MyMessageHandler::class);
$queue->boot();
}
ВАЖНО
Обработчики должны добавляться до инициализации системы очередей (вызова метода boot()
).
Пример отправки сообщения:
<?php
use Bsi\Queue\Queue;
Queue::getInstance()->dispatchMessage(new MyMessage('Hello, world'));
Ссылки по теме: