我有一个用urllib2上传文件的脚本。我有超时设置,但我相信如果我的转移停止,它不会消失。我想知道是否有监控urllib2传输并且如果传输速率低于xx字节/秒则使其中止。
现在我使用signal.alarm,它基于文件大小除以粗略猜测我认为传输速率但不是最好的方法。
答案 0 :(得分:0)
传输速度不是来自你的urllib2,它是底层网络的属性。您可以使用任何标准操作系统网络监视工具(如ntop)并将其包装在子进程上,以便在通过urllib2传输之前检查网络速度。您也可以通过多个线程来完成,但是一旦您的urllib2线程处于IO操作中,它将被阻止,您无法从其他线程执行任何操作。
同样,正如我所说的转移是你的网络属性并通过套接字模块接口,你可以覆盖Socket中的一些类来检查网络速度并相应地调整(这不是微不足道的),urllib2可以使用这些套接字。
答案 1 :(得分:0)
您可以设置hook.