fintem/mq-notification-bundle
最新稳定版本:1.3.0
Composer 安装命令:
composer require fintem/mq-notification-bundle
包简介
Send/receive notifications using AMQP and Symfony event dispatcher
README 文档
README
Installation
Download the bundle and dependencies
$ composer require fintem/mq-notification-bundle
Enable the bundle by adding it to the list of registered bundles
<?php // ... $bundles = [ // ... new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(), new Fintem\MQNotificationBundle\MQNotificationBundle(), ]; // ... }
Configuration
Add the old_sound_rabbit_mq section in your configuration file and describe connection. More info here.
MQNotificationBundle config:
mq_notification: mq_connection_name: default # connection name described under old_sound_rabbit_mq service_name: your_app_name # custom your application name
Usage
Dispatch event to push notification using symfony event-dispatcher
<?php use Fintem\MQNotificationBundle\Event\NotifyEvent; $notifyOnTerminate = false; // push notification on kernel/console terminate/exception $event = new NotifyEvent('test_message', ['some' => 'data'], $notifyOnTerminate); $this->dispatcher->dispatch(NotifyEvent::NAME, $event);
Run a consumer on service or application where you want to get notification
$ app/console rabbitmq:consumer notification
When a consumer receives notification, it dispatch two NotificationReceivedEvent events in order:
- notification_received
- notification_received.message_name
e.g. notification_received.user_created
Create a listener/subscriber to listen those events
<?php use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Fintem\MQNotificationBundle\Event\NotificationReceivedEvent; class NotificationSubscriber implements EventSubscriberInterface { public static function getSubscribedEvents() { return [ 'notification_received' => ['onNotificationReceived', 0], 'notification_received.user_created' => ['onUserCreated', 0], ]; } public function onNotificationReceived(NotificationReceivedEvent $event) { } public function onUserCreated(NotificationReceivedEvent $event) { // $user = $event->getData(); } }
Register listener/subscriber in service container and tag them with the mq_notification.event_listener and mq_notification.event_subscriber tags
统计信息
- 总下载量: 5.54k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-10-25