florianajir/rabbitmq-sql-bundle

RabbitMQ到SQL消费者,使用doctrine/dbal和php-amqplib/rabbitmq-bundle

v1.0.0 2016-05-03 21:44 UTC

This package is auto-updated.

Last update: 2024-09-04 15:56:06 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Code Coverage Scrutinizer Code Quality

关于

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和数据库,并定义消息结构和数据库映射。

享受!