0
A flask_socketio
應用程序正在作爲服務器運行。在由應用管理的列表中,有幾個實例繼承threading.Threads
,每個實例都運行一個主循環。偶爾,我想告訴flask-socketio
服務器向某個房間發送廣播。我怎麼能這樣做?如何從Python中的其他線程廣播到socketio?
我無法弄清楚如何做到這一點,因爲flask_socketio
正在主循環中運行,但我無法訪問此主循環。有沒有辦法讓燒瓶主循環從Queue
讀取?
不幸的是,這是行不通的。消息沒有到達客戶端。 – mknaf
我改變了方法,以便我將SocketIO實例傳遞給我的線程的構造函數,而不是導入它,工作。但是,現在我遇到了可能與線程和阻塞有關的其他問題,這使得完整的想法變得無用。 – mknaf
如果您將eventlet或gevent與使用標準Python線程類的代碼結合使用,而這些類不是eventlet/gevent友好的,則可能會發生阻塞問題。如果你猴子補丁性病庫你應該沒問題。 – Miguel