C# 计划任务或服务的容错性和可靠性的最佳实践
我一直在处理许多作为windows服务或计划任务运行的应用程序 现在,我想确保这些应用程序具有容错性和可靠性。例如我有一个每小时运行的服务。如果服务在运行或运行时崩溃,我希望应用程序在同一时间段内再次运行(这涉及到一些事情,包括数据处理事务),以避免数据丢失。此外,我希望程序报告错误的细节。我的目标是避免数据丢失,并且在运行程序时不会落后 我构建了一个类库,用户可以将其导入到项目中。库应该保存程序运行实例的信息,即程序读取和写入运行间隔、运行状态等信息。这些数据存储在数据库中 我很好奇,是否有一些最佳实践可以使计划任务/windows服务具有容错性和可靠性C# 计划任务或服务的容错性和可靠性的最佳实践,c#,.net,reliability,fault-tolerance,C#,.net,Reliability,Fault Tolerance,我一直在处理许多作为windows服务或计划任务运行的应用程序 现在,我想确保这些应用程序具有容错性和可靠性。例如我有一个每小时运行的服务。如果服务在运行或运行时崩溃,我希望应用程序在同一时间段内再次运行(这涉及到一些事情,包括数据处理事务),以避免数据丢失。此外,我希望程序报告错误的细节。我的目标是避免数据丢失,并且在运行程序时不会落后 我构建了一个类库,用户可以将其导入到项目中。库应该保存程序运行实例的信息,即程序读取和写入运行间隔、运行状态等信息。这些数据存储在数据库中 我很好奇,是否有一
编辑:我指的是在不同服务器上运行的独立任务或服务。我的目标是确保该服务将继续运行,报告任何故障并从中恢复。很明显,不要同时运行所有任务。尽量安排它们,以便在任何时候(如果可能的话)只有一个任务在使用一些昂贵的资源。例如,如果您需要发送时事通讯和一些特定的通知,请将它们安排在不同的时间。如果两个任务需要清理数据库中的某些内容,则让一个任务一个接一个地运行
此外,还应将任务安排在正常工作时间以外的时间运行——显然是在夜间。我对其他人说的话很感兴趣,但我会告诉你我偶然发现的几点:
无论如何,希望这能有所帮助,但这只是我自己摸索的几件事。我说的是不同服务器上的独立任务或服务。我的目标是确保该服务将继续运行,报告任何故障并从中恢复,同时将数据丢失降至最低或零。我发现的最好的广告是FireDaemon。不知道它是怎么运行的,我现在正在检查它。但是它的广告功能非常好。谢谢,我确实看过了。我宁愿编写代码并控制它。