我编写了一个全天候运行的Windows C#应用程序并收集传感器数据,并将其存储在数据库中。
每晚一次,我对前一天的数据运行一些算法。结果仅在应用程序在前一天处于活动状态且没有重大中断时才有用(即,超过5分钟的中断将使得当天的结果无效)。
如何保证应用程序在没有重大突破的情况下一直在运行?
第一个想法
答案 0 :(得分:3)
这取决于你想要发生什么。我只想了几个简单的想法。
如果要重新启动应用程序 - 您可以创建旨在确保进程正在运行的Heartbeat Windows服务。如果它没有运行,你可以重新启动它。
如果您只是需要/想要验证数据。让应用程序向数据库报告运行状况检查,并将其用作"是否在此处"整个时间。
答案 1 :(得分:3)
保留以下两个变量(在数据库中,文件,您想要的任何地方):
让你的应用程序每隔几秒钟执行以下操作:
每天手动检查时间戳。这样做时将其重置为零。