Кто-нибудь использовал pidbox.Mailbox ?
Я пытаюсь сделать что-то похожее на этот пример, но эта документация устарела. Мне удалось получить что-то, что публикует сообщения для транспорта django, но оттуда они никогда не были успешно получены.
Я надеялся, что кто-то знает, как это использовать, и мог бы показать пример успешного вызова / приведения.
Вот что у меня есть (фиктивный узел на самом деле ничего не делает, просто печатает или списки):
#node/server
mailbox = pidbox.Mailbox("test", type="direct")
connection = BrokerConnection(transport="django")
bound = mailbox(connection)
state = {"node": DummyNode(),
"connection": connection
}
node = bound.Node(state = state)
@node.handler
def list( state, **kwargs):
print 'list called'
return state["node"].list()
@node.handler
def connection_info(state, **kwargs):
return {"connection": state["connection"].info()}
@node.handler
def print_msg(state, **kwargs):
print 'Node handler!'
state["node"].print_msg(kwargs)
consumer = node.listen(channel = connection.channel())
try:
while not self.killed:
print 'Consumer Waiting'
connection.drain_events()
finally:
consumer.cancel()
И простой клиент.
#client:
mailbox = pidbox.Mailbox("test", type="direct")
connection = BrokerConnection(transport="django")
bound = mailbox(connection)
bound.cast(["localhost"], "print_msg", {'msg' : 'Message for you'})
info = bound.call(["test_application"],"list", callback=callback)