【问题标题】:Scheduled task vs windows service计划任务与 Windows 服务
【发布时间】:2023-10-22 21:21:02
【问题描述】:

我需要决定使用哪个,更推荐使用哪个? 我的要求 - 运行一个应该每 X 分钟运行一次的日常任务,并且需要通过任务的代码库进行配置,以便我可以部署任务并随之更改配置, 在我看来,调度任务有点复杂,因为间隔运行管理是在代码之外完成的,在 Windows 服务上,您可以控制间隔运行的所有方面,我不喜欢 Windows 服务的是你有很多与任务的核心逻辑和目的无关的代码,并且只与任务的运行有关,当我在我的 Windows 服务器中内置了任务调度程序接口时,这对我来说似乎很愚蠢允许我进行开箱即用的复杂配置。

我正在使用团队城市作为我的构建和部署工具。

因此,我希望您能提出有利和不利的意见,以及您认为这种情况下的最佳做法

【问题讨论】:

    标签: .net windows-services teamcity scheduled-tasks


    【解决方案1】:

    我会投票支持创建一个创建所需计划任务的脚本(使用计划任务 API)。 例如schtasks /create /tn ...

    它有足够的选项来满足您的要求。它将很容易维护和部署,因为它不需要在更改时重新编译。如果您对管理不同时区或任务调度逻辑有特殊要求,请使用服务。

    【讨论】:

    • 任务调度逻辑是什么意思?基本逻辑是它必须每 15 分钟运行一次,然后可能会更改为 X 分钟,另外我的问题是如何将我的配置更改集成到团队城市构建的计划任务中?
    • 我的意思是,如果你有一个随机的外部触发器或者你需要一个时区转换......