我很好奇,在我目前的状态下,如何更好地解决以下问题。在
我建议采用以下架构:
我们的想法是通过运行Flask来使用多线程来完成这个任务插座.IO在一个线程中,并且在另一个线程中有一个while循环,该线程可以按需向所有连接的客户端发出。在
project
- main.py
- analyze.py
- webapp.py
analyze.py
实际的程序每隔几秒钟就会从一个文件中抓取一些东西,如果有什么东西改变了,它就会分析它的内容,结果就会被推送过去插座.IO所有的客户。在
import webapp
def analyze():
while True:
message_object = analyzeStuff()
webapp.send_message(message_object)
webapp.py
这里我们实现了实际的烧瓶插座.IO端点。为了简单起见,下面是我这边的一个小快照:
^{pr2}$main.py
在主线程中,我们打开插座.IO线程,然后我们运行我们的分析。在
我使用eventlet.monkey_patch()
(尽管我不确定它到底做了什么)来从另一个线程调用{
import analyze
import webapp
import threading
import eventlet
eventlet.monkey_patch()
if __name__ == '__main__':
# Start the server
webapp_thread = threading.Thread(target=run_web_app)
webapp_thread.start()
# Run the Analyze loop
analyze.analyze()
目前的状态运行良好,困难,我目前有一些问题,以适应这个Apache2WSGi模式的服务器,我目前正在工作。在
尽管如此,这看起来很难看,我不能停止思考应该有更好的方法来做这件事。有什么建议吗?在
目前没有回答
相关问题 更多 >
编程相关推荐