2013-08-04 46 views
1

我有一个龙卷风应用程序,它将通过websocket提供数据。 我有一个单独的阻塞线程,它正在读取来自另一个应用程序的输入并将一个对象推入队列,另一个线程具有阻塞侦听器到该队列。如何将自定义事件添加到龙卷风

我想让阅读器线程以某种方式将消息发送到龙卷风,只要它在队列中看到一个新项目,然后龙卷风就可以通过websocket将该消息转发给侦听客户端。

我认为这样做的唯一方法是在读者线程中有一个websocket客户端,并通过websocket将信息推送到龙卷风。然而,似乎我应该能够做到这一点,而不使用websocket,并以某种方式让龙卷风监听非websocket异步事件,然后调用回调函数。

但我找不到任何描述如何做到这一点。

+0

什么操作系统?如果Linux那么它听起来像是一个epoll的工作。然后当某些输出可用时,您会发送一个事件。然后你可以摆脱队列。 – aychedee

+0

它是跨平台的,主要运行在Windows上。 – user350325

回答

1

如果我正确理解你的问题,你所需要做的就是从正在读队列的线程调用IOLoop.add_callback。这将在IOLoop的线程中运行回调,以便您可以将消息写入客户端Websocket连接。