flaskio客户端为什么会失去从服务器接收结果的功能?

问题描述

我有一个通过flaskio连接到浏览器客户端的数据采集系统。通常,它工作正常。客户端请求数据,Web服务器将请求传递给硬件服务器,获取结果,然后将其返回给浏览器客户端。在一种情况下,它始终失败。就是说,返回的硬件数据需要Web服务器处理数十毫秒的时间。此时,客户端停止从服务器获取任何类型的数据。但是,客户端仍然能够发送服务器处理的请求,将数据发回。但是客户端无法获取数据。最终(30-60秒),连接超时,Web服务器重新初始化,客户端可以再次获取数据,直到再次发送此特定数据请求(start_spec_scans)。尚未接收到的响应已被堆积在服务器中,并且现在全部被客户端接收,很快又一个一个

这是这种情况的时间表

    21:58:49.050 client sends `start_spec_scans`.
    21:58:51.323 client sends `get_tsys`.
    21:58:51.327 server returns result; received by client.
    21:58:54.813 `integr_done` called. It took 55~ms to complete. Data not received by client.
    21:58:59.782 `integr_done` called. It took 14~ms to complete. Data not received by client.
    21:59:01.323 client sends `get_tsys`.
    21:59:01.327 server returns result; *not* received by client.
    21:59:04.769 `integr_done` called. It took 18~ms to complete. Data not received by client.
    21:59:09.777 `integr_done` called. It took 14~ms to complete. Data not received by client.
    21:59:11.323 client sends `get_tsys`.
    21:59:11.325 server returns result; not received by client.

我怀疑integr_done线程占用cpu的时间过长,但是我不知道如何测试或修复它。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)