.Net 计划任务程序
.Net scheduled tasker
我记得在一家有计划任务管理器的公司工作。它是多台机器上的 windows 服务 运行,在数据库中同步,我们用于 运行 离线批处理。
现在我发现自己必须在当前的工作场所重新做一遍。有没有推荐的框架来快速启动我的开发?
约束条件:
它应该很容易部署到多个环境中。例如:Windows定时任务部署手动操作比较复杂。
当同一个任务已经在进行中时,不应启动新任务。
任务粉碎不会粉碎调度器。
很高兴看到您不想编写自己的调度程序。我已经看过好几次了,它 总是 变成 over-complicated 并且难以维护(即技术债务)。
我强烈推荐 Hangfire。
Hangfire 部署为 ASP.NET 应用程序,可以使用 Azure 执行 运行 作业。它具有自动重试逻辑、错误报告和一个漂亮的仪表板,您可以使用它来配置任务并查看发生了什么。
我成功使用了 Quartz .Net Scheduler。它开始是 Java Quartz Scheduler 的一个端口,并且它是 activley 开发的。用它应该很容易满足你的需求。
除其他外,它还具有作业持久性(通过 ADO.NET 作业存储 (AdoJobStore))细粒度作业计划和故障转移机制。
先尝试阅读 the tutorials 以获得理解。
我记得在一家有计划任务管理器的公司工作。它是多台机器上的 windows 服务 运行,在数据库中同步,我们用于 运行 离线批处理。
现在我发现自己必须在当前的工作场所重新做一遍。有没有推荐的框架来快速启动我的开发?
约束条件:
它应该很容易部署到多个环境中。例如:Windows定时任务部署手动操作比较复杂。
当同一个任务已经在进行中时,不应启动新任务。
任务粉碎不会粉碎调度器。
很高兴看到您不想编写自己的调度程序。我已经看过好几次了,它 总是 变成 over-complicated 并且难以维护(即技术债务)。
我强烈推荐 Hangfire。
Hangfire 部署为 ASP.NET 应用程序,可以使用 Azure 执行 运行 作业。它具有自动重试逻辑、错误报告和一个漂亮的仪表板,您可以使用它来配置任务并查看发生了什么。
我成功使用了 Quartz .Net Scheduler。它开始是 Java Quartz Scheduler 的一个端口,并且它是 activley 开发的。用它应该很容易满足你的需求。
除其他外,它还具有作业持久性(通过 ADO.NET 作业存储 (AdoJobStore))细粒度作业计划和故障转移机制。
先尝试阅读 the tutorials 以获得理解。