【问题标题】:Is there standard software for scheduling tasks?是否有用于调度任务的标准软件?
【发布时间】:2014-02-20 23:41:20
【问题描述】:

在工作中,我们的任务是实施调度系统。我们当前的要求要求我们安排 2 类任务:

  • 将在特定时间执行一次的任务:“在 2014-01-28T10:35:08+00:00 向以下设备发送批量推送通知”
  • 重复任务:“世界标准时间每周一上午 9 点,向以下人员发送摘要电子邮件”

任务本身都是需要执行的命令行应用+参数。

到目前为止,我们已经使用cron 实现了重复任务,但从长远来看,这还不够,因为我们希望变得更强大:

  • 我们希望作业是事务性的 - 如果机器在作业运行时出现故障,则不应将作业标记为完成。
  • 我们希望能够在一个队列中运行多台机器,但每个任务只能由一台机器运行一次
  • 我们希望能够轻松查看作业的计划和状态(可能是 Web 界面)。
  • 我们希望有一个CRUD API 来管理作业。
  • 如果我们出现机器故障并且机器恢复正常,它应该能够找到过期任务并运行它们。

是否有实现此功能的行业标准工具?当我们想要存储数据时,我们使用数据库,当我们想要对项目进行排队时,我们使用队列——调度任务的等价物是什么?

【问题讨论】:

  • 我的一个(疯狂?)想法是使用 Google 日历 API 来存储/添加/查看任务,并使用第二个系统轮询日历以查找应执行的任务。
  • 这偏离了网站的主题,因为它要求推荐工具。话虽如此,您可以采用多种方法,Windows 计划任务就是其中之一,如果您打算编写代码,则可以使用quartz 库之类的东西
  • 我完全愿意编写代码,但在编写任何代码之前,我想检查一下我是否会重新发明轮子。 (“数周的编程可以为你节省数小时的计划时间。”)你能推荐一个更好的堆栈交换吗?
  • 我相信 Quartz.net 是一个不错的起点(我自己没用过)。不幸的是,“建议一个”问题往往是基于意见的,它们并不是 SE 网络的一部分 stackoverflow.com/help/dont-ask
  • quartz-scheduler.org 是正确的链接。引用他们的简介: ... Java ... 从最小的独立应用程序到最大的电子商务系统。 ... 用于执行数十、数百甚至数万个作业的简单或复杂计划; ... Quartz Scheduler 包括许多企业级功能,例如对 JTA 事务和集群的支持。

标签: cron scheduled-tasks job-scheduling


【解决方案1】:

ATrigger 可以解决您提到的所有要求。 监控、分析和异常处理以及 API。 .Net、Php、Ruby 库可用,所有其他库也可用 REST-API

免责声明:我是制作此工具的人之一。这是一个免费软件,不是商业目的。

【讨论】:

    猜你喜欢
    • 2019-09-03
    • 2021-05-05
    • 2020-10-21
    • 2014-04-19
    • 2022-01-12
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多