florianajir / rabbitmq-sql-bundle
RabbitMQ到SQL消费者,使用doctrine/dbal和php-amqplib/rabbitmq-bundle
v1.0.0
2016-05-03 21:44 UTC
Requires
- php: >=5.4.0
- doctrine/dbal: ^2.5
- jms/serializer: ^1.1
- jms/serializer-bundle: ^1.1
- php-amqplib/rabbitmq-bundle: ~1.6
- symfony/framework-bundle: ~2.3|~3.0
Requires (Dev)
- phploc/phploc: 2.*
- phpmd/phpmd: 2.*
- phpunit/phpunit: 4.*
- sebastian/phpcpd: 2.*
- squizlabs/php_codesniffer: 2.*
This package is auto-updated.
Last update: 2024-09-04 15:56:06 UTC
README
关于
RabbitMqSqlBundle是一个symfony工作进程,用于通过php-amqplib/rabbitmq-bundle和doctrine/dbal库为您的应用程序提供RabbitMQ消息持久性。
您只需配置yml映射并执行一个命令,即可创建一个简单且可扩展的RabbitMQ到SQL消费者,以持久化您的实体
php app/console rabbitmq:consumer -w sql
功能
- 映射yml配置(类似doctrine)
- 插入记录
- 更新记录
- 关系记录:一对一、一对多、多对一、多对多
- 更新、删除关系
- 支持外键
示例
以下示例展示了如何消费异步消息数据并将简单订阅者持久化到数据库中的消费过程。
RabbitMQ接收消息数据
{
"name" : "Rogger Rabbit",
"email" : "subscriber@acme.corp",
"Groups": [ { "slug": "subscriber" } ]
}
SQL请求输出
INSERT INTO `members` (`name`, `email`) VALUES ("Rogger Rabbit", "subscriber@acme.corp"); INSERT INTO `member_group` (`member_id`, `group_id`) VALUES (3, 2);
从示例文档中获得更多灵感
许可证
本应用程序采用MIT许可证。请参阅此文件中的完整许可证
Resources/meta/LICENSE
安装
对于Symfony框架 >= 2.3
使用composer要求worker及其依赖项
$ composer require florianajir/rabbitmq-sql-worker
注册此包
// app/AppKernel.php public function registerBundles() { $bundles = array( new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(), new FlorianAjir\RabbitMqSqlBundle\FlorianAjirRabbitMqSqlBundle(), ); }
配置
您必须配置RabbitMQ和数据库,并定义消息结构和数据库映射。
享受!