在StackOverflow上,我们每天都会看到一些"请求超时"异常.
事实:
我们已经测试了基于服务器的超时(即使用Thread.Sleep),并且在异常日志中正确捕获了所有表单变量 - 这使我们相信客户端在分配的时间内发送请求时遇到问题.
关于如何捕获/调试这种情况的任何想法都是非常受欢迎的!
我正在使用官方Javascript客户端设置一个简单的Node.js REST服务来与Elasticsearch连接.我在本地运行此代码,但群集位于远程.当我通过浏览器,使用_head
插件,我可以连接ES和查询没有问题.但是,通过Javascript客户端执行此操作会超时所有请求.我设置了ElasticSearch对象,但向它发送任何请求都不起作用.我不认为这是一个网络问题,因为我可以通过浏览器访问ES.这是我要求的东西,一个非常基本的获取:
var elasticsearch = require("elasticsearch");
var es = new elasticsearch.Client({
host: "https://my-address:9200/", // also tried without protocol part and trailing slashes
log: "error",
sniffOnStart: true
});
es.get({
index: "things",
type: "someThing",
id: "42"
}).then(doSomeStuff, handleStuffFailed);
Run Code Online (Sandbox Code Playgroud)
这会因简单的错误消息而失败 Errror: Request timeout after 30000ms.
我在这里错过了什么吗?我通过客户端文档阅读,这似乎是客户端的基本"hello world".
你能和我分享你的答案吗?
NSURLRequest
默认timeoutInterval
时间NSMutableURLRequest
默认timeoutInterval
时间我在DefaultRetryPolicy中将 1500 设置为initialTimeoutMs如下,但它不考虑超时:
request.setRetryPolicy(new DefaultRetryPolicy(1500
, DefaultRetryPolicy.DEFAULT_MAX_RETRIES
, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Run Code Online (Sandbox Code Playgroud)
我断开了设备上的 WiFi 以测试它的超时,我在Logcat 中看到了这些时间:
2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError
Run Code Online (Sandbox Code Playgroud)
我期望在 1.5 秒后捕获 onResponse 或 onError 花了 20 多秒!!!
每次我运行一个非常简单的代码时,我都会收到此错误“服务电子表格在访问带有 id 的文档时超时getValues()
...”,其中我基本上使用和将数据从一个谷歌工作表复制到另一个谷歌工作表setValues()
。
我不认为这是因为 5M 单元格的限制,因为同样的函数在另一个尺寸更大的Google 表格中运行得非常好。所以我实在不明白问题出在哪里。
我尝试创建一个空的 GS 并运行该函数,因此我只提取数据而没有任何其他计算,但它仍然给了我同样的错误。
知道原因是什么吗?
这里的代码作为参考:
function MyFunction(){
var pm_ss_0 = SpreadsheetApp.openById('...');
var pm_tab_0 = pm_ss_0.getSheetByName('...');
var pm_data_0 = pm_tab_0.getDataRange().getValues();
var target_ss_0 = SpreadsheetApp.getActiveSpreadsheet();
var target_tab_0 = target_ss_0.getSheetByName('...');
target_tab_0.clearContents();
var target_data_0 = target_tab_0.getRange(1, 1, pm_data_0.length,
pm_data_0[0].length).setValues(pm_data_0);
}
Run Code Online (Sandbox Code Playgroud) 我有一个已经运行 4 年没有问题的 Google Apps 脚本。但是,自从 3 周以来,我遇到了这个问题:脚本运行了很长时间并且失败了。这种情况每 10 次运行中就有 3 次发生。错误消息是“服务电子表格在访问具有 id [电子表格 ID 此处] 的电子表格时超时”。
实际的脚本是精心制作的(数千行)并在数百个电子表格上运行,使用数据获取数据fetchUrl()
并使用setValues()
. 这个实际的脚本过去可以在 10 张工作表的电子表格上正常工作,并且可以在过去 4 年中毫无问题地更新每张工作表中的 180k 单元格。现在,我什至无法更新一张纸。
下面的脚本复制了这个问题:它使用.getValues()
和将 1300 行 x 140 列从 Sheet1 复制到 Sheet2 .setValues()
。当行数增加到 800 以上时,脚本开始失败。当它运行良好时,执行日志显示它需要 8 秒。当它失败时,日志会显示长达 900 秒的运行时间。在此期间,您无法访问电子表格超过 10 分钟,如果您尝试在不同的选项卡中加载电子表格,则它根本不会加载。
我已经向 Google 支持提出了一个问题,我没有时间表,但对给您带来的不便深表歉意。这发生在我尝试过脚本的所有域上,不仅是我的域。您需要尝试运行脚本 10 次才能查看失败情况。
如果有人可以提出解决方法或提供有关此问题的一些见解,我将不胜感激。
这是复制该问题的电子表格的链接:https : //docs.google.com/spreadsheets/d/1jea15rtjv85YIZumABMfFKESb2_QmX0-7zC-KchWeDc/edit?usp=sharing
function myFunction() {
var row1 = 1;
var col1 = 1;
var row2 = 1300;
var col2 = …
Run Code Online (Sandbox Code Playgroud) server-error request-timed-out google-sheets google-apps-script
我遇到了与本文中描述的相同的问题,诊断"请求超时"HttpExceptions.我按照建议打开了失败的请求跟踪,并且正在与MS的某个人合作(虽然它很慢).
原始帖子一年多没有更新,所以我想知道是否找到了修复程序,或者你是否只是忽略了这些错误.
任何帮助,将不胜感激.
我想从ftp服务器下载基于日期时间的文件..我可以从CuteFtp第三方访问这个Ftp而且每件事都是Okey ..但是当我在第一行运行下面的代码时GetRespone()
我得到这个错误:操作有时间出.我用webclient requet以编程方式从这个FTP下载了一个示例文件,它很好..但是我需要使用FtpWebRequest
获取listDirectoryDetail而webClient不支持..还有一件事,请求中有一个异常:FtpWebRequest.ContentType
抛出异常类型System.NotSupportedException
.
这是我的代码:
Uri uri = new Uri("ftp://192.168.1.5:2100/");//the private address
if (uri.Scheme != Uri.UriSchemeFtp)
{
return;
}
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)WebRequest.Create(uri);
reqFTP.Credentials = new NetworkCredential("myuser", "mypass");
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
reqFTP.UseBinary = true;
reqFTP.Proxy = null;
reqFTP.UsePassive = false;
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Run Code Online (Sandbox Code Playgroud)
请帮忙 :(
我遇到了与此处描述的相同的问题,但不幸的是没有收到答案......
本质上,每当我尝试推送/克隆到 git 存储库(无论是来自 Github 还是其他站点)时,我都无法这样做。我每次都收到以下错误:
致命:无法访问“(repo url)”:无法连接到(域)端口 443:超时
我发现的大多数解决方案都涉及设置代理,但我目前没有运行代理。另一个想法是我的防火墙可能阻止了它。
过去(大约 3 个月前)我能够推送/克隆 git 存储库,但是自从几天前再次尝试以来,它一直没有奏效。我的同事能够从我试图访问的同一个 repo 中推送/克隆。有谁知道是什么导致了这个问题?
我正在使用Dialogflow创建一个代理/机器人,它响应不同类型的用户查询,其中包含"我需要从HR获取地址证明的信件"等操作项.这需要机器人从公司的数据库中获取一些信息,并通过在人力资源提供的模板化字母文件中填充检索到的信息来生成文档/字母.执行此操作的逻辑已经写在python文件中.使用Webhooks完成数据库集成.
问题是,解释用户请求,打开数据库和检索所需信息的完整过程需要5秒以上,这恰好是Dialogflow代理的响应超时限制.我对此做了一些研究,发现我们不能增加这个限制,但我们可以通过异步调用保持会话存活.我无法找到提供答案的正确资源.
所以,我的问题是 -
我们可以在对话框流中进行异步调用吗?
如果是,那么我们如何通过json将异步数据发送到Dailogflow代理?
有没有其他方法可以解决这个5秒响应超时限制?
提前致谢!
asynchronous request-timed-out sendasynchronousrequest dialogflow-es
android ×1
asp.net ×1
asynchronous ×1
c# ×1
git ×1
github ×1
iis-7 ×1
ios ×1
java ×1
javascript ×1
node.js ×1
request ×1
retrypolicy ×1
server-error ×1