【问题标题】:Autobahn pubsub, queues and topics?Autobahn pubsub、队列和主题?
【发布时间】:2014-10-21 22:43:31
【问题描述】:

Autobahn 文档有点不清楚客户端在发布消息后接收消息的位置/方式。开箱即用,似乎一条消息被广播给一个主题的所有订阅者——他们都明白了。但是有没有办法将消息分发给单个客户端?多个发布者将消息添加到队列并将消息分发给“免费”订阅者的队列中的某些东西,循环方式?猜猜它也可以称为简单海盗模式。

【问题讨论】:

  • Pubsub 旨在发布订阅者监听的特定事件。听起来你想要的更像是一个有多个工作人员的任务队列。

标签: python autobahn


【解决方案1】:

如前所述,通常发布会发送给所有订阅者。

如果您想发布并定向到特定订阅者,则使用合格参数进行定向。这是 WAMP 文档:

http://autobahn.ws/python/reference/autobahn.wamp.html?highlight=eligible#autobahn.wamp.message.Publish

class autobahn.wamp.message.Publish(request, topic, args=None, kwargs=None, acknowledge=None, excludeMe=None, exclude=None, eligible=None, discloseMe=None)

在您的情况下,您需要提供符合条件的会话 ID 列表,例如符合条件的 = ( 1,2,3, )

我没有 v2 示例,但是,从来源来看,我猜是这样的:

self.publish(u'com.myapp.topic1',  eligible = [100, 200, 300] )

在 v1 中,我使用这种技术发布到订阅者的一个子集。在 v2 中,我使用订阅主题本身来限制接收消息的人员。因此,我可能会创建 com.pub.m1、com.pub.m2、com.pub.m3 等而不是 com.pub,并且我的客户订阅的主题决定了他们将收到什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-02
    • 2012-12-15
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2019-06-20
    相关资源
    最近更新 更多