我之前曾询问谷歌存储api服务的时间延迟,因为文件插入有时会花费太长时间。(链接:time delay for file insertion using google cloud storage api) 因为没有人回答这个问题,我想稍微改变一下我的问题......
存储API中是否有任何方法可以控制向Google存储发送请求和获取结果之间的等待时间?我想杀死比预期更长的任务。
谢谢。
答案 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();