【发布时间】:2018-02-19 18:07:11
【问题描述】:
由于数据库问题,我工作的旧服务正在冻结。而且我正在寻找比修复它更简单的解决方案。
在应用程序表单版本 (Delphi) 中,Windows 识别并显示应用程序没有响应的消息。
Windows 能否识别服务未响应并重新启动服务?
在服务属性中,恢复仅针对失败。
【问题讨论】:
-
修复您的服务。听起来你有一些线程问题。但无论如何,对于您的情况,人们通常会创建一种与服务交互的 guardian,如果它停止响应,他们会重新启动服务进程。
-
没有看到您的代码,我只能根据您的信息假设您正在主服务线程中执行所有操作。您应该从不在主线程中实现服务。 总是创建一个单独的线程来为您的服务完成所有实际工作。
-
这是一个遗留代码,在所有客户端中只有一个有这个问题。如果有的话,我正在寻找更便宜的解决方案。
-
一天几次,同一查询多次使用不会立即返回,需要几分钟然后返回,就好像什么都没发生一样。问题来自 Oracle RAC 的数据库驱动程序。我不能这样做,现在也没有时间更改线程。