gpt4 book ai didi

python - SimpleXmlRpcServer _sock.rcv 在数千次请求后卡住

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:42 25 4
gpt4 key购买 nike

我正在通过 WAN 处理来自多个 XMLRPC 客户端的请求。这东西在一天(有时两天)的时间内非常有效,然后在 socket.py 中卡住:

data = self._sock.recv(self._rbufsize)

_sock.timeout 为-1,_sock.gettimeout 为无

我在主线程中没有做任何特别的事情(只是接收 XMLRPC 调用),还有另外两个线程与 DB 通信。这两个线程都工作正常并且在这个 block 中幸存下来(用 WinPdb 进行了检查)。客户端发送的请求不超过 1KB,并且没有任何特殊内容:只是字典中漂亮干净的字符串。在两次阻塞之间,我可以毫无问题地处理数万个请求。防火墙关闭,同机无奇怪软件等...

我使用 Windows XP 和 Python 2.6.4。我检查了 2.6.4 之间的差异。和 2.6.5,并没有发现任何重要的东西(或者我误会了?)。 2.7 版本不是一个选项,因为我会错过 MySqlDB 的二进制文件。

唯一不时发生的由互联网连接不佳的客户端引起的事情是套接字中断。这种情况每 5-10 分钟发生一次(每 2 秒只有五个客户端访问服务器)。

我在这个问题上花了很多时间,现在我开始不知道该怎么办了。任何提示或想法将不胜感激。

最佳答案

您的操作系统的 TCP/IP 堆栈(可能在顶层的 python 层中,但可能性较小)中到底发生了什么导致这是一个谜。作为一种实际的解决方法,我会设置一个比您预期的请求之间的延迟更长的超时时间(如果您希望每 2 秒有一个请求,则 10 秒应该足够了),如果发生,请关闭并重新打开。 (通过反复试验校准在不中断正常流量的情况下解决卡住问题所需的延迟)。我知道,在不了解问题的情况下破解修复程序是令人不快的,但在编写、部署和操作实际服务器系统的世界中,对此类事情保持务实是一种必要的生存特征。请务必为 future 的维护者准确评论解决方法!

关于python - SimpleXmlRpcServer _sock.rcv 在数千次请求后卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271966/

25 4 0
文章推荐: javascript - 如何在新标签页中打开 YouTube 嵌入式视频?
文章推荐: c++ - 比较C中两个字符串的每个字符
文章推荐: html - CKEditor Codesnippet 的背景没有滚动超过
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com