2014-10-14 6 views
1

Autobahn 문서는 클라이언트가 게시 된 메시지의 수신/수신 방식이 약간 명확하지 않습니다. 상자 밖에서는 메시지가 모든 주제 구독자에게 방송되는 것처럼 보입니다. 그러나 단일 클라이언트에 메시지를 배포하는 방법이 있습니까? 여러 게시자가 대기열에 메시지를 추가하고 메시지가 "무료"구독자 인 라운드 로빈 방식으로 배포되는 대기열 행에있는 것이 있습니까? 간단 해적 패턴이라고도 할 수 있습니다.Autobahn pubsub, 대기열 및 주제?

+0

Pubsub는 구독자가 수신하는 특정 이벤트를 게시하기위한 것입니다. 여러 작업자가있는 작업 대기열이 더 많아서 원하는 것 같습니다. – RutledgePaulV

답변

1

일반적으로 게시는 모든 구독자에게 적용됩니다.

특정 구독자에게 게시하고 직접 연결하려는 경우 해당 매개 변수로 안내합니다. 귀하의 경우에는

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, 예를 들어 목록을 제공해야합니다 : 여기에 WAMP의 문서입니다 자격 = (1,2,3) 나는 V2의 예를 가지고 있지 않지만, 소스에 의해 판단, 나는이 같은 추측에는 요

: V1에서

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

을 나는이 기술을 사용 구독자의 하위 집합에 게시 할 수 있습니다. v2에서는 메시지 수신자를 제한하기 위해 구독 항목 자체를 사용하고 있습니다. 따라서 com.pub.m1, com.pub.m2, com.pub.m3 등을 com.pub 대신 작성할 수 있으며 내 클라이언트는 수신 할 내용을 결정합니다.