我有一个长时间运行的 python 脚本,由 upstart 启动。这个脚本提出了很多请求。一开始一切正常,但几个小时后,我开始为每个请求永久收到以下错误:
File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/client.py", line 119, in request
File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/http_core.py", line 420, in request
File "/opt/a/a-env/local/lib/python2.7/site-packages/atom/http_core.py", line 489, in _http_request
File "/usr/lib/python2.7/httplib.py", line 931, in endheaders
File "/usr/lib/python2.7/httplib.py", line 794, in _send_output
File "/usr/lib/python2.7/httplib.py", line 756, in send
File "/usr/lib/python2.7/httplib.py", line 1134, in connect
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
gaierror: [Errno -3] Temporary failure in name resolution
这不是名称解析或 DNS 的问题,因为只需重新启动应用程序即可解决此问题。
我已经尝试了 Python 2.6 和 2.7,同样的情况发生了。
我正在运行 Linux 2.6.35-30-virtual #61-Ubuntu SMP Tue Oct 11 18:26:36 UTC 2011 x86_64 GNU/Linux
已经有一些关于这个问题的帖子,但没有一个有直接的解释或解决方案:
最佳答案
我认为当您处于“太多打开的文件”状态时会发生这种情况。下次发生这种情况时,请尝试查看您的脚本打开了多少个文件描述符。
关于python - 运行几个小时后永久性的gaierror 'Temporary failure in name resolution',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634197/