![]() |
1
2
好吧,我找到了解决办法。。多亏了 Will 和 PRR公司 (我的同事)。 我 不能 在每个查询上启动一个新线程,因为这是一个实时应用程序,应该每秒处理1000多条消息….(无论如何,感谢 R.. 为了这个想法)。 此外,无法通过库终止连接,也无法取消/终止查询,因为问题出在数据库服务器上。。
这里有一个暴力的解决方案,但更好的是
重要提示
:(感谢Will)-结果是,我们的MySQL库包装器有一个“fail-safe”标志,因此在关闭套接字(或其他严重错误)时,它会尝试“解决”问题,因此它会自行重新打开套接字,就我的情况而言。所以,我刚刚关闭了这个选项,现在一切都好了——执行因为一个异常而终止——这是最“软”的方法。
编辑:
对于5.0.25之后的版本,超时确实有效。但是,至少在RHEL4和RHEL5上,由于某种原因,超时次数增加了三倍!例如,如果某些超时设置为20秒,则实际超时为~60秒。。
|
![]() |
2
1
我想您可以实现C函数调用的超时(如本线程所述 C++: How to implement a timeout for an arbitrary function call? ),但您需要仔细考虑将数据库保留在什么样的状态中—可能这些状态只是用于读取数据库,而不是插入/更新。 |
![]() |
3
0
我从来没有尝试过这样做,但我一直在阅读,我认为这可能意味着MYSQL_OPT_WRITE_TIMEOUT和MYSQL_OPT_READ_TIMEOUT只适用于windows 5.0.25之前的MYSQL版本,但现在应该适用于每个TCP/IP连接。拿一个 look here 当做 编辑: 我会尝试将mysql服务器更新到一个新版本,并尝试它是否有效。 |
![]() |
4
0
如果您不介意使用线程,可以从一个新线程开始查询,并让主线程执行一个简短的
|
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Anaya Ammar · 渲染后未显示的值 1 年前 |
![]() |
eymentakak · json字典类型错误:字符串索引必须是整数 2 年前 |
![]() |
Dev · 在laravel rest api中按特定角色获取所有用户 2 年前 |
![]() |
Kimchi · 将包含列表的dic传输到数据帧中 2 年前 |