后来我将直接读入大量数据到内存的过程改为用iter读取, 现象没再出现.
你的方案"超过一定时间...", 可以视为"守护进程",
如果这个进程是你的应用内的某个线程, 恐怕它会一同"睡"去 :(
.. 还是先确认一下是否是内存占用的原因吧, 如果是通过节省内存的方式可以克服的.
如果是爬虫的话,这个一般都是由于网络原因造成的卡住,可以做两层控制:在HTTP请求上设置好超时时间,最好设定sockect的超时,这样更底层一些。
在上层做一个检测机制,定时轮询线程是否正常,如果遇到不响应的直接kill掉。