我是一名程序员,正在devise一个解决我们遇到的问题的scheme。 我正在考虑编写一个应用程序,并使用Windows计划任务每天运行一次,而不是写一个大多数时间睡觉的服务,每天醒来一次来做这件事。 但我的问题是pipe理员通常使用Windows计划任务?
应用程序将删除我们生成的旧文件,无法以其他方式清理(出于正当理由)。
我会同意其他人的计划任务将适合您的需求。 我会添加(作为一个程序员自己),作为一个计划的任务,要么发送给你(电子邮件?)的某种确认任务成功运行和/或追加结果到某个地方的日志文件的潜在故障排除。 做某种报告/logging/审计总是派上用场,如果你需要的话。
这是我决定的方式
服务是一直运行“常量”操作。
计划任务是按计划的间隔运行单个工作单元(你想要的)。 真的,计划任务本身已经是一项服务。
不要编写重复“计划任务”function的服务。 🙂
我想说,对于像这样的一天一次的操作来说,预定的任务是好的。 我在整个networking中使用它们是出于各种原因。 运行一堆服务,即使大部分时间空闲,仍然使用一些系统资源。 服务,恕我直言,应该用于需要不断运行的事情,以及时响应事件或根据需要与其他networking服务进行通信。
像给解决scheme开发人员提出的问题一样,这取决于。 使用Scheduled任务没有任何问题,只要你正在开发的任何解决scheme清楚地在文档中说明你应该怎么做就好。 将某些服务作为一种服务运行是有好处的,例如,如果他们不知道如何使用services.msc控制台,能够为非pipe理员脚本编写解决scheme来运行服务。 甚至可以通过Powershell或networking监控程序(如What's Up Gold)监控所述服务。 使用计划任务,您可以按照您决定的计划运行程序,但是您也可以添加参数(您也可以在技术上使用服务),但是可以通过简单的GUI格式来实现。 再次,无论你决定什么是最简单和最有用的你的情况。
计划任务唯一的问题是,一旦你得到了一把以上的机器来pipe理,很容易失去什么地方。 在这一点上,你必须掏出一个任务pipe理程序…
另一个考虑是如果机器/用户将会保持login状态。 你会想要testing每个scheme的每个选项取决于你需要的解决scheme。