prooph/link-message-queue

prooph LINK的消息队列模块

v0.1.0 2015-05-10 13:07 UTC

This package is auto-updated.

Last update: 2024-09-17 01:46:53 UTC


README

prooph LINK的消息队列模块

Bernard 后端

此模块为prooph LINK提供了一个简单的消息队列,以便异步处理工作流消息。该消息队列通过bernard以及对应的消息分发器实现来实施,并使用bernard提供的DoctrineDriver连接到prooph.link.app.db数据库连接来管理消息队列。

消息分发器

该模块提供了一个现成的消息分发器,可以在处理通道中定义以将工作流消息推送到队列并通过通道发送。使用消息分发器的通道配置可能如下所示

return [
    'processing' => [
        'channels' => [
            'message_queue' => [
                'targets' => ['Acme\WorkflowMessageHandler'],
                'sender'  => 'a_node_name',
                 'message_dispatcher' => 'prooph.link.message_queue.producer' //ServiceManager alias of the message dispatcher
            ],
            //...
        ],
        //...
    ],
    //...
];

工作流处理器消息队列

app-core模块提供了激活适用于所有由工作流处理器发送的消息的通用消息队列的可能性。消息队列模块提供了所需的实现。它将\Prooph\Link\Application\Definition::APP_SERVICE_WORKFLOW_PROCESSOR_MESSAGE_QUEUE定义为prooph.link.message_queue.producer的别名,因此消息分发器处理所有由工作流处理器发送的消息。

消息消费者

为了消费推送到队列的消息,应用程序需要发布一个TickOccurred事件。您可以在app-core模块的文档中了解更多信息。消息队列模块附带的消息消费者监听此TickOccurred事件,执行一个bernard消费者tick(从队列中拉取下一个待处理消息)并将消息转发到处理工作流引擎,而不进行进一步的路由。工作流引擎负责将消息路由到其目标。

支持

贡献

你想帮忙吗?太好了!我们非常感谢任何帮助,无论是实施层面、UI改进、测试、捐赠还是简单地试用系统并提供反馈。只需在我们的上述谷歌群组中给我们留言,我们就可以进一步讨论。

谢谢,您的prooph团队