c# - 按照可配置的时间表运行任务的最有效方式

标签 c# .net windows-services

我正在创建一个 Windows 服务,用于将我们的软件自动部署到多个不同的环境。

当服务启动时,它会实例化一个自定义的 Deployer 对象。 Deployer 对象首先读取包含环境列表和部署时间的配置文件,例如 QA-0900,1400 表示在上午 9 点和下午 2 点部署到 QA。然后它启动一个超时为 45 秒的计时器,然后检查每个超时是否当前时间与列表中的时间匹配。如果找到匹配项,它就会开始部署到该环境。

每 45 秒轮询一次似乎愚蠢且效率低下,但我想不出更好的方法。

有什么想法吗?

最佳答案

一定要是Windows服务进程吗?这听起来像是可以使用 Windows task scheduling 来完成的事情系统。特别是如果您使用的是 Windows Server 2008,任务调度功能非常强大,并且可以通过编程方式管理任务。

关于c# - 按照可配置的时间表运行任务的最有效方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4565018/

相关文章:

C#添加引用问题

c# - 如何在 C# 中执行 shell 脚本?

.net - 旧的 VB6 MSComm 控件与串行端口通信的方式与 .Net SerialPort 的通信方式之间是否存在重大差异?

c# - 在 T4 模板中使用与模板存在于同一项目中的类型

c++ - 是否可以使用 C++/WinRT 创建 Windows 服务应用程序?

c# - Windows 服务中的可重入计时器

c# - 如何创建通用委托(delegate)实例列表?

c# - wpf/mvvm - 如何制作一个组合框,从 mvvm 中的选定项目中设置特定值

winapi - 无法在没有密码的帐户下运行服务?

c# - 我在这里使用正确的工作单元吗? ( Entity Framework 4 POCO)