Jas*_*son 4 c# cmd scheduled-tasks windows-server-2008
我有一项需要每30秒运行一次的任务.我可以做两件事之一:
编写一个运行任务一次的命令行应用程序,等待30秒,再次运行它然后退出.我可以使用Windows中的计划任务安排此任务,以便每分钟运行一次
编写一个在每次运行之间等待30秒的同时重复运行任务的服务.
在我看来,1号更简单,我会默认选择这样做.我懦弱了吗?我有理由将其作为服务而不是计划任务吗?两者的优点和缺点是什么,你最终会选择哪一个?
我最近读了一篇关于这个问题的好文章.它进入了很多很好的原因,你应该不写一个服务运行循环作业.此外,之前已经提出过这个问题:
/sf/ask/27321521/ Windows服务或预定任务,我们更喜欢哪一个?
使用计划任务的一个优点是,如果运行服务涉及潜在的风险,例如内存泄漏或挂起网络连接,则Windows服务可能会长时间挂起,对其他用户产生负面影响.另一方面,计划的任务被写为短期运行,因此即使它确实泄漏,效果也会最小化.
另一方面,上述某个问题中的某个人评论说调度程序的精确度限制在1分钟范围内,因此您可能会看到调度程序无法每30秒准确地运行您的任务.
显然需要考虑一些权衡因素,但希望这有助于您做出正确的决定.
| 归档时间: |
|
| 查看次数: |
3555 次 |
| 最近记录: |