控制外部库中的套接字超时

时间:2011-09-15 00:43:53

标签: python urllib2

我正在重新处理我的个人网站,我遇到了一些障碍,我希望有一个干净的解决方法:

我正在使用各种操作系统包与StackExchange(多个站点)和Twitter(仅用于我的源)进行通信。为了在刷新我的烧杯驱动缓存时加快速度,我使用通用QueuedCall类(我自己设计)对我的请求进行多线程处理。

现在,当提供商启动时,这一切都很好用。 然而,如果提供商关闭(我显然想避免),它可能会挂起。不幸的是,我正在使用的库不会暴露设置超时的方法。我看待它的方式是我有两种选择之一:

  1. 在指定的超时后手动杀死线程。 我想不惜一切代价避免这种情况,因为它很糟糕
  2. 修改库以接受超时参数。我并不特别想进入这个,因为这是我使用第三方库开始的部分原因;)
  3. (希望能够)设置一些全局属性,设置urllib2在外部库中使用时将识别的超时。
  4. 问题:我可以从应用程序代码设置某个属性以控制urllib2的默认超时吗?

1 个答案:

答案 0 :(得分:2)

您在寻找

吗?
socket.setdefaulttimeout