1

我们需要开发一个通知器组件。它将做的是以给定的时间间隔(例如,每 15 分钟)扫描数据库,以查看是否需要发送任何通知。

我们在 Windows 上运行,因此我们一直在研究 Windows 服务或 Windows 任务计划程序。

我们最大的担忧是我们实施的稳健性。如果它由于某种原因崩溃了,它可以在下一个间隔自动重启吗?我们可以使用自定义日志记录逻辑来处理崩溃吗?

我想对在这里使用什么进行有根据的猜测:) 如果您需要其他信息,请随意说,做出这样的猜测..

如果有人可以列出 Windows 服务与 Windows 任务调度程序的优缺点,则会给出支持。另外,应该注意的是,我们没有设置其中任何一个,所以如果您有任何替代方案,请不要发布。

提前致谢 :)

4

1 回答 1

2

如果您的应用程序不需要连续运行,则使用任务调度程序有一些优势。设置起来稍微容易一些,您可以将应用程序配置为每 15 分钟运行一次、执行查询、发送通知、安排下一次运行和关闭。但是,鉴于 15 分钟的间隔,您最好将其作为 Windows 服务来实现,因为频繁生成和终止进程的开销可能会抵消不让它连续运行的好处。

视窗服务

好处

  • 可以配置为自动重启(查看服务管理器控制面板应用中的服务属性)
  • 可以配置为在不同用户帐户的上下文中运行
  • 可远程启动、停止
  • 即使没有人登录也会继续运行

缺点

  • 安装需要抬高
  • 连续运行,可能有利也可能不利

任务计划程序

好处

  • 可以配置为按照您选择的时间表运行,包括复杂的时间表
  • 可以配置为在不同用户帐户的上下文中运行

缺点

  • 如果一次调用失败,您将不得不等到下一次调用,或者实现逻辑以适当调整调度
于 2010-06-15T18:35:46.793 回答