如何控制谷歌存储api服务的时间延迟

时间:2016-10-20 06:27:53

标签: google-cloud-storage

我之前曾询问谷歌存储api服务的时间延迟,因为文件插入有时会花费太长时间。(链接:time delay for file insertion using google cloud storage api) 因为没有人回答这个问题,我想稍微改变一下我的问题......

存储API中是否有任何方法可以控制向Google存储发送请求和获取结果之间的等待时间?我想杀死比预期更长的任务。

谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用Java Google API客户端库。要在一段时间后终止连接,您需要configure timeouts

private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
  return new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest httpRequest) throws IOException {
      requestInitializer.initialize(httpRequest);
      httpRequest.setConnectTimeout(3 * 60000);  // 3 minutes connect timeout
      httpRequest.setReadTimeout(3 * 60000);  // 3 minutes read timeout
    }
  };

GoogleCredential credential = ....

final Storage analytics = Storage.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();