标签: timeout

为什么autoReconnect = true似乎不起作用?

我使用JDBC连接到MySQL服务器(我认为没有连接池).在我的连接URL中autoReconnect=true

但我的联系仍然超时.我甚至检查过conn.isClosed()它的错误.但是当我尝试使用连接时,我得到以下异常.

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: Software caused connection abort: socket write error

STACKTRACE:

java.net.SocketException: Software caused connection abort: socket write error
...

我知道在Java 1.6中你可以conn.isValid(0)用来检查连接,但我使用的是Java 1.5

有没有办法确保它没有超时?或者我将不得不升级到Java 1.6?

java timeout jdbc

32
推荐指数
1
解决办法
5万
查看次数

法拉第里的"超时"和"开启超时"是什么?

由于法拉第没有文件,我无法在任何地方找到它.什么是"超时"以及法拉第中的"开启超时"?

ruby timeout faraday

32
推荐指数
1
解决办法
1万
查看次数

MySQL Workbench在空闲时丢弃连接

我在我的OS X 10.9.5上使用MySQL Workbench 6.3管理多个云数据库(托管在Rackspace上),我得到以下问题:

当不活动5分钟时,会发生以下问题:

  • 我无法运行任何查询(错误2013:在查询期间丢失与MySQL服务器的连接)
  • 当我尝试浏览我的数据库中的表时,我收到的消息如"无法获取表","无法获取视图"等等
  • 刷新左侧面板时,我得到一个"错误代码:2006 MySQL服务器已经消失"

所以基本上连接已经消失了.

这真的很烦人,因为它只在不活动5分钟后发生.因此,我需要关闭连接并每次重新打开它.

我也试过这个:MySQL Workbench:如何保持连接活着,这没有改变任何东西.在我的Workbench Preferences选项卡中,我有以下设置:

  • DBMS连接保持活动间隔(以秒为单位):600
  • DBMS连接读取超时(以秒为单位):600
  • DBMS连接超时(以秒为单位):60

请注意,此问题恰好在不活动5分钟后发生!如果我在4'59分钟的间隔内运行两个查询,它的工作完全正常.同样在Workbench上连接到同一数据库的同事也没有这个问题.

有人有解决方案吗?

mysql database timeout mysql-workbench connection-timeout

32
推荐指数
2
解决办法
2万
查看次数

CUDA应用程序在几秒钟后超时和失败 - 如何解决这个问题?

我注意到CUDA应用程序在失败并退出之前往往有5-15秒的粗略最大运行时间.我意识到没有CUDA应用程序运行那么久是理想的,但假设它是使用CUDA的正确选择,并且由于每个线程的顺序工作量必须运行那么长,有没有办法延长这个时间或者绕过它?

timeout cuda gpgpu gpu-programming

31
推荐指数
4
解决办法
2万
查看次数

帮助排除SqlException故障:在非负载情况下,连接超时

我有一个托管我的网站的服务器几乎没有流量.
一些人(<20)每天进入该网站,一些RSS阅读器订阅了我们推出的一些提要.

几乎每天晚上,一个RSS阅读器都会在半夜打电话给我们,并且由于连接中的超时而导致网站无法连接到SQL Server.细节非常奇怪,所以我正在寻找一些可能出现问题的帮助,因为我不知道从哪里开始寻找.

我们在Windows Server 2008上使用ASP.Net MVC,实体框架和SQL Server 2008.这台机器是我们从一个不完全顶级的提供商那里获得的专用盒子,所以事情可能是非最佳配置,或者谁知道什么其他.
盒子也很小,只有1Gb的RAM,但它应该承担我们现在的那种负载......

我正在复制下面的完整调用堆栈,但首先,我们知道的一些事情:

  • 当iTunes查询我们的网站时,总会发生错误.我相信这应该与任何事情无关,但事实是我们只能从iTunes获得它.我最好的猜测是,这种情况发生是因为只有iTunes在当晚没有其他人打我们的时候询问我们.
  • 我们的一个理论是,SQL Server和IIS正在为内存而战,其中一个是从未被使用中被分页到磁盘,当有人"唤醒它"时,从磁盘上读取所有内容需要很长时间进入记忆.这有可能发生吗?(我有点丢弃这个,因为如果可能的话,它听起来像SQL Server中的设计问题)
  • 我还想到了我们泄漏连接的可能性,因为我们可能没有适当地处理EF实体(请参阅我的问题).这是我通过谷歌搜索问题找到的唯一一件事.鉴于我们的负载极低,我正在抛弃这一点.
  • 这总是发生在整个晚上,所以这很可能与一段时间没有发生任何事情有关.例如,我很确定当这些请求命中时,Web服务器进程被回收并且它正在启动/重新监视所有内容.但是,重新JITting并没有解释SQL超时.

更新:我们按照建议添加了一个分析器,在我们遇到新的异常之前花了很长时间.这是我们所知道的新内容:

  • 将探查器附加到极大地减少了我们得到的错误数量.事实上,通常在每天几次之后,我们不得不等待3或4天才能发生这种情况.一旦我们停止了探查器,它就会恢复到正常的错误频率(甚至更糟).因此,探查器有一定的效果可以在某种程度上隐藏这个问题,但并不完全.
  • 查看IIS请求日志旁边的探查器跟踪,请求和查询之间存在预期的1-1对应关系.但是,我偶尔会看到很多正在执行的查询与IIS日志完全无关.实际上,就在记录实际错误之前,我在3分钟内得到了750个查询,所有查询都与IIS日志完全无关.查询文本看起来像EF生成的那种不可读的废话,并且它们并不完全相同,它们看起来就像来自网站的查询:相同的ApplicationName,User等.想一想这多么荒谬是的,该网站在2天的过程中获得了大约370个IIS请求
  • 这些无法解释的查询并非来自与之前网站相同的ClientProcessID,尽管它们可能仍然来自网站,如果此过程在此期间被回收.在最后解释的查询与第一个无法解释的查询之间有近一个小时没有活动.
  • 在我记录错误之前,我不知道它们来自哪里的长条查询之一就出现了,所以我相信这是我们应该遵循的线索.
  • 正如我原先预期的那样,当执行抛出错误的查询时,它来自与前一个不同的ClientProcessID(比前一个无法解释的一个晚了8分钟,几乎比前一个IIS快一个小时).对我来说,这意味着工人流程确实得到了回收.
  • 这是我绝对不明白的事情.IIS日志显示错误请求前一分钟,4完全服务,尽管这些查询根本没有显示在跟踪中.事实上,在那些顺利完成的4个之后,我有4个例外快速连续抛出,这4个也没有显示在跟踪中(这是有道理的,因为如果有连接超时,查询应该从未执行过,但我没有看到跟踪中的连接尝试)

所以,简而言之,我对这一点完全无能为力.我无法找到那些快速连续运行的数百个查询的原因,但我相信这些问题必须与问题有关.
我也不知道如何诊断连接问题...
或者如果Profiler跟踪可能会丢失一些根据IIS进行的查询...

有任何想法吗?


这是例外信息:

System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior …
Run Code Online (Sandbox Code Playgroud)

connection timeout sql-server-2008 connection-timeout

31
推荐指数
1
解决办法
3万
查看次数

每页级别增加ASP.Net超时

是否可以增加单个ASP.net页面的超时.我知道它可以在服务器级别,但它是否可以在页面级别?

我需要一个报告页面,需要2-3分钟才能加载

有任何想法吗?

asp.net timeout

31
推荐指数
2
解决办法
3万
查看次数

由于模拟器中的超时而无法安装

当试图从Eclipse安装.apk时,无论是Android模拟器还是物理设备(通过USB),我都会收到"无法安装*.apk on device'*':timeout"错误.在模拟器和物理设备(三星Galaxy S2,root)上找不到.apk.

如果我避免使用eclipse,只使用命令行,我也无法安装.apk.

为什么要发一个新帖子?

还有其他几个stackoverflow帖子引用了"无法安装..."错误.我创建了一个新帖子有几个原因:

  • 大多数其他帖子都不详细.
  • 突出的相关帖子,Android错误:无法在设备上安装*.apk*:对于原始海报,超时,仅适用于物理设备连接.所以这是一个不同的情况,尽管有类似的症状.
  • 我已经尝试过该帖子中的所有候选解决方案以及其他几个候选解决方案.这些列在"我试过的候选解决方案"下面.

这个帖子很冗长,因为我采取的步骤很长,正如bug所证明的那样.如果您不想阅读或至少扫描,请不要发表评论.

我的环境

主机操作系统:Windows XP SP3

JAVA:Java SDK版本1.6.0_32

WINDOWS环境变量:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_33;

PATH=...;%JAVA_HOME%\bin\;C:\android\android-sdk\tools;C:\android\android-sdk\platform-tools\;...;C:\Program Files\apache-ant-1.8.2\bin;...;

IDE:Eclipse(安装经典)Indigo.版本3.7.2

ANDROID SDK

  • Android SDK工具修订版:20.(主要测试版本19).
  • Android SDK平台工具:11.
  • ADT插件("Android Development Toolkit",Eclipse插件)版本:20.0.0.v201206010423-369331(也与先前版本18.0.0.v201203301501-306762一样).
  • 项目所针对的平台和模拟器中运行的平台版本.试过每一个:
    • Android 4.0.3(API 15)
    • Android 2.2(API 8)
    • Andorid 2.1(API 7)

MOBILE:三星Galaxy S2运行Android Ice Cream Sandwhich(ICS)4.0.3

ANT:1.8.2

我经历的步骤产生错误.

使用Eclipse尝试将.apk安装到模拟器:

  • 打开eclipse(用一个Android应用程序加载我的工作区).
  • 使用先前配置的运行配置运行我的Android应用程序.
  • 启动"Android设备选择器"(我已将我的运行配置设置为手动启动).
  • 在Android设备选择器中,我选择我的avd(定位Android 2.2),然后单击"确定".
  • 模拟器以"5554:jlbavd2_2"打开.我的AVD名称是"jlbavd2_2".
  • 我让模拟器保持打开状态.在Eclipse中,我打开DDMS视图.在"设备"窗格中,单击白色三角形,然后选择"重置adb".

在Eclipse控制台,Android视图中,我得到了

[2012-06-19 19:20:52 - MyApp] Starting full Post Compiler.
[2012-06-19 19:20:52 - MyApp] ------------------------------
[2012-06-19 19:20:52 - MyApp] Android …
Run Code Online (Sandbox Code Playgroud)

android timeout android-emulator

31
推荐指数
1
解决办法
2万
查看次数

在Ansible中通过SSH进行GIT挂起,即使设置了ssh-agent转发也是如此

我已经设置了我能找到的每一个,但仍然从GitHub克隆一个repo挂起了配置过程.

我有:

git ssh timeout ssh-agent ansible

31
推荐指数
3
解决办法
2万
查看次数

使用长时间运行的ASP.NET MVC核心控制器HTTPPost方法超时

我在我的ASP.NET Core MVC视图页面中使用了ajax调用

MyView.cshtml

          $.ajax({
                processData: false,
                contentType: false,
                data: new FormData(this),
                type: $(this).attr('method'),
                url: $(this).attr('action'),
                cache: false,
                success: function (data) {
                        $('#mydiv).html(data);
                        $('#bootstrapModal).modal('show');
Run Code Online (Sandbox Code Playgroud)

控制器发布方法"

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> MyLongRunningMethod(MyViewModel viewModel)
    {
        await MyProcess.Longprocess1();
        await MyProcess.Longprocess2();
        await MyProcess.Longprocess3();
        await MyProcess.Longprocess4();
        return PartialView("_MyPartialPage");
    }
Run Code Online (Sandbox Code Playgroud)

这有效,但只对长时间运行的过程有问题.在调试模式下,当进程花费的时间超过大约2分钟时,我收到以下错误

在此输入图像描述

我理解这与过期超时有关

在以前版本的ASP.NET MVC中,您显然可以增加asp.net控制器操作的超时.

HttpContext.Current.Server.ScriptTimeout = 90000;
Run Code Online (Sandbox Code Playgroud)

然而,这不存在于 ASP.NET Core

我想增加特定asp.net控制器的调试和部署超时.

对于生产,我可以web.config通过将requestTimeout添加到现有的httpPlatform标记来全局设置它.例如10分钟

<httpPlatform requestTimeout="00:10:00" ....
Run Code Online (Sandbox Code Playgroud)

一个类似的问题被问到,但答案给出了使用CancellationToken但阅读它,它似乎不能帮助我超时.

  1. 如何在部署Visual Studio 2015调试模式时设置超时?
  2. 是否存在每个控制器超时设置ASP.NET 4

timeout asp.net-core-mvc asp.net-core

31
推荐指数
5
解决办法
4万
查看次数

ADO.NET调用T-SQL存储过程会导致SqlTimeoutException

我有一个带签名的T-SQL存储过程

CREATE PROCEDURE MyProc
@recordCount INT OUTPUT
@param1 INT
...
Run Code Online (Sandbox Code Playgroud)

在Sql Server中直接执行时,该过程在5秒内运行,返回一些总计约100行的结果集.

调用使用ADO.NET此过程SqlDataAdapter.Fill方法来填充Dataset导致SqlTimeoutExceptionSqlCommand3分钟后(指定的超时间隔).

更改存储过程以使其不再具有输出参数,并且所需的输出值作为最后的结果集返回,解决了问题,并且整个过程在预期的5秒内运行.

但为什么?

我不想通过我的代码库来修改这种行为的所有实例,而不理解我是否真的解决了这个问题.

另一件需要注意的是,这只在一个特定的服务器上显而易见,它确实拥有比我们运行的其他类似数据库更大的数据集.肯定不是Sql Server设置?

UPDATE

进入框架源,问题似乎出现在元数据检索中.对象的ConsumeMetaData方法SqlDataReader无限期挂起.但是我在其他数据库上运行测试并且无法重现,因此当通过ADO.NET调用此过程时,这是一个特定于数据库的问题...很棒.

更新II

已确认如果我将代码更改为使用OleDbDataAdapterSQLOLEDB或SQLNCLI提供程序类型,则问题仍然存在.绝对与连接有关.

t-sql sql-server ado.net timeout output-parameter

30
推荐指数
1
解决办法
2万
查看次数