对于一个工作项目,我正在执行一项任务,我将创建一个 24/7 运行的 C#.NET Windows 服务。该程序基本上将简单地在不同位置之间移动文件(基于给定路径和正则表达式) - 从/到 HTTP、网络路径和 FTP。管理员将通过 ASP.NET 中的管理页面安排这些作业,所有作业都将存储在数据库中。看起来最难的部分是调度这些作业——将任务安排在某一天的某一特定时间运行是非常简单的,但它还需要足够健壮,以允许任务每天、每个工作日、每个特定天运行每月一次,甚至每隔几秒/分钟。我得出的结论是,存储此调度信息的最简单方法是在数据库中使用 cron 语法 (http://adminschoice.com/crontab-quick-reference)。
该应用程序有一个计时器每 10 分钟检查一次数据库的更改,但我遇到的主要问题是检索要执行的任务 - 我想一个选择是简单地每 10 分钟检索一次所有内容,并检查每一行看看他们是否应该被执行。但我觉得这是一种非常低效且技术上很懒惰的方式——你们会怎么做呢?
我知道 Windows 计划任务会是一种更简单的方法,但似乎我的老板不希望这样。
提前感谢任何可以提供一些提示/建议的人。