我想建立一个作业调度程序。所以这个作业调度器允许用户配置:
- 作业开始时间。(日期时间值)
- 工作频率:分钟、小时、天、月、年(任何整数值)
关于如何构建此调度程序,我有 2 个选项:
使用 C# Timer 类。但这也意味着我必须为每个计划的作业创建一个新的 Timer 对象。我打算公开一个 API 端点供用户调用和发布开始时间和频率信息。因此,当调用端点时,我需要创建一个新的 Timer 对象。这甚至会扩展吗?如何管理 Timer 对象?我需要允许用户创建、更新和删除他们的工作。
使用 Azure 调度程序。但是,我有一个非常大的用户数据库。我查看了定价,可以在 1 个实例上运行的最大总作业数仅为 500 万个作业。另外,如果我有超过 1 个正在运行的实例,我很难管理正在运行的实例。如何决定对多个调度程序实例进行负载平衡?