我一直在开发许多作为windows服务或计划任务运行的应用程序。
现在,我想确保这些应用程序将是容错和可靠的。例如,我有一个每小时运行一次的服务。如果服务在运行或运行时崩溃,我希望应用程序在同一时间段内再次运行(这涉及到一些事情,包括数据处理的事务),以避免数据丢失。此外,我希望程序报告错误的详细信息。我的目标是避免数据丢失,并且不会因为运行程序而落后。
我构建了一个类库,用户可以将其导入到项目中。库应该保存程序运行实例的信息,即。程序读取和写入运行间隔、运行状态等信息,这些数据存储在数据库中。
我很好奇,是否有一些最佳实践来使计划任务/ windows服务具有容错性和可靠性。
编辑:我说的是不同服务器上的独立任务或服务。我的目标是确保服务继续运行,报告任何故障并从中恢复。
发布于 2010-05-28 02:37:09
我对其他人说的话很感兴趣,但我会给你一些我偶然发现的观点:
UnhandledExceptionEventHandler(AppUnhandledExceptionEventHandler);
无论如何,希望这会有一点帮助,但这只是我自己四处寻找的几件事。
发布于 2010-05-28 00:29:16
一件显而易见的事情--不要同时运行所有的任务。尝试安排它们,以便在任何时候(如果可能)只有一个任务在使用一些昂贵的资源。例如,如果您需要发送时事通讯和一些特定的通知,请将它们安排在不同的时间。如果两个任务需要清理数据库中的某些内容,请让这两个任务依次运行。
此外,还要安排任务在正常工作时间之外运行--显然是在晚上。
https://stackoverflow.com/questions/2922559
复制相似问题