VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 2
声望: 0

我测试主要是Ubuntu 16和18两个版本, 在conda 4+、5+都试了,有相同的问题:

  1. socketIO上推送的包括eTick的报价、ePosition持仓、eAccount等信息总是5-10个左右一起推送过来,通常eTick的报价比RPC server那边(PUB->SUB)要晚十多秒
    感觉是把几个数据包合并发送的原因,但不知是flask-socketIO的问题还是ZeroMQ的SUB接收方面的原因?
  2. 原代码中通过webServer触发的REQ send的数据在REP端总是没有响应,但通过命令行调用就没有问题。我通过拆分tradingServer和webServer解决了这个问题。
    (例如 vnpy/examples/WebTrader/webServer.py的110行:l = me.getAllGatewayDetails() ,类似的REQ->REP传递的数据都没有发送到RPC server那边)
    而在windows平台上没发生过上述问题。
Administrator
avatar
加入于:
帖子: 4502
声望: 321

根底层库配置有关系,SocketIO必须安装了WebSocket才会用WS,否则本质底层会用Ajax模式实现,就很慢了

Member
avatar
加入于:
帖子: 2
声望: 0

用Python的交易员 wrote:

根底层库配置有关系,SocketIO必须安装了WebSocket才会用WS,否则本质底层会用Ajax模式实现,就很慢了

多谢版主出主意,问题已经解决了。最终找到是因为gevent服务器把事件引擎的线程给占用造成的延迟。只是奇怪为何windows上没有这个问题

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】