【问题标题】:socketIO_client (python) makes cpu spin and crashessocketIO_client (python) 使 cpu 旋转并崩溃
【发布时间】:2013-07-23 12:37:00
【问题描述】:

我正在尝试在 python 中使用 socketIO_client 并且我非常成功,但是当我让下面的程序运行一段时间(比如一个小时)时,它会崩溃,如果我用“顶部”查看系统信息' 命令我可以看到 CPU 正在以大约 80% 或 90% 的速度旋转

PS:这只发生在我的树莓上,所以可能是因为在 ARM 上实现了 python socketio 模块?

我做错了吗?我应该关闭任何套接字吗?我对套接字不是很熟悉...

在我的代码下面:

from socketIO_client import SocketIO, BaseNamespace

class MainNamespace(BaseNamespace):

        def on_message(self, message):
            try:
                    typestr = message["depth"]["type_str"]
                    price_int  = int(message["depth"]["price_int"])
                    total_volume_int = long(message["depth"]["total_volume_int"])
                    print "price_int:%s total_volume_int:%s"  % (price_int,total_volume_int)
            except:
                    pass

 if __name__ == "__main__":
    try:
            mainSocket = SocketIO('socketio.mtgox.com', 80)
            chatSocket = mainSocket.connect('/mtgox',MainNamespace)
            mainSocket.wait()
    except Exception, e:
            print e

【问题讨论】:

  • 杀死try/except,我猜它掩盖了实际问题。

标签: python websocket raspberry-pi socket.io


【解决方案1】:

我在 v0.5 中重写了 socketIO-client,以便它使用协程而不是线程来节省内存。外部 API 保持不变。

pip install -U socketIO-client

v0.5 能解决您的问题吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    相关资源
    最近更新 更多