如何创建周期性未知的Windows服务



任务是创建Windows Service,该服务应该定期连接到SQL Server数据库(它包含来自数百或数千辆汽车的GPS数据),从表中读取数据,处理数据并将结果写入另一个表。问题是,这取决于数据库中有多少数据,处理时间从几毫秒到几个小时不等。

如果有很多数据,它应该等待,直到之前的处理结束,然后开始另一次迭代。

如果数据不多,则应累计至少500条GPS记录,处理后开始新的迭代。请提供c#示例。

注:GPS数据的处理意味着生成复杂的汽车事件,例如定义汽车超速、停车点、进入特定地理区域等……从算法的角度来看,生成这些事件中的一些可能是资源密集型的。

最大功率我已经创建了它,但是作为无限循环的控制台应用程序,但是我是windows服务的新手,我不知道如何正确实现windows服务的功能。

我会

  • 创建一个看门狗服务,检查是否处理应用程序每X秒/分钟/小时运行一次(取决于你想多长时间处理一次数据)。
  • 如果它正在运行,则等待到下一个计划的事件时间并再次检查。
  • 如果它没有运行,那么启动处理应用程序。

相关内容

最新更新