2013-08-04 47 views
1

我有一個龍捲風應用程序,它將通過websocket提供數據。 我有一個單獨的阻塞線程,它正在讀取來自另一個應用程序的輸入並將一個對象推入隊列,另一個線程具有阻塞偵聽器到該隊列。如何將自定義事件添加到龍捲風

我想讓閱讀器線程以某種方式將消息發送到龍捲風,只要它在隊列中看到一個新項目,然後龍捲風就可以通過websocket將該消息轉發給偵聽客戶端。

我認爲這樣做的唯一方法是在讀者線程中有一個websocket客戶端,並通過websocket將信息推送到龍捲風。然而,似乎我應該能夠做到這一點,而不使用websocket,並以某種方式讓龍捲風監聽非websocket異步事件,然後調用回調函數。

但我找不到任何描述如何做到這一點。

+0

什麼操作系統?如果Linux那麼它聽起來像是一個epoll的工作。然後當某些輸出可用時,您會發送一個事件。然後你可以擺脫隊列。 – aychedee

+0

它是跨平臺的,主要運行在Windows上。 – user350325

回答

1

如果我正確理解你的問題,你所需要做的就是從正在讀隊列的線程調用IOLoop.add_callback。這將在IOLoop的線程中運行回調,以便您可以將消息寫入客戶端Websocket連接。