Cron 是否有标准的软件来安排任务?

Cron 是否有标准的软件来安排任务?,cron,scheduled-tasks,job-scheduling,Cron,Scheduled Tasks,Job Scheduling,在工作中,我们的任务是实施一个调度系统。我们当前的需求要求我们安排两种类型的任务: 在特定时间执行一次的任务:“在2014-01-28810:35:08+00:00向以下设备发送批量推送通知” 重复任务:“每周一UTC上午9点,向以下人员发送摘要电子邮件” 任务本身都是命令行应用程序+需要执行的参数 到目前为止,我们已经使用cron实现了重复任务,但从长远来看,这还不够,因为我们希望变得健壮: 我们希望作业是事务性的–如果机器在作业运行时出现故障,则不应将作业标记为完成 我们希望能够在一个

在工作中,我们的任务是实施一个调度系统。我们当前的需求要求我们安排两种类型的任务:

  • 在特定时间执行一次的任务:“在2014-01-28810:35:08+00:00向以下设备发送批量推送通知”
  • 重复任务:“每周一UTC上午9点,向以下人员发送摘要电子邮件”
任务本身都是命令行应用程序+需要执行的参数

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

  • 我们希望作业是事务性的–如果机器在作业运行时出现故障,则不应将作业标记为完成
  • 我们希望能够在一个机队中运行多台机器,但每个任务只能由一台机器运行一次
  • 我们希望能够轻松查看作业的计划和状态(可能是web界面)
  • 我们希望有一个
    CRUD
    API来管理作业
  • 如果我们有一台机器出现故障,并且一台机器重新启动,它应该能够找到过期的任务并运行它们
是否有行业标准的工具来实现这一点?当我们要存储数据时,我们使用数据库;当我们要对项目进行排队时,我们使用队列–调度任务的等效方法是什么?

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


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

我的一个(疯狂的?)想法是使用谷歌日历API来存储/添加/查看任务,并使用第二个系统来轮询日历,查找应执行的任务。这偏离了网站的主题,因为它要求推荐工具。说到这里,你可以采取很多方法,Windows计划任务就是其中之一,如果你打算写代码,比如石英库,我完全愿意写代码,但在我写任何代码之前,我想检查一下我是否会重新发明轮子。(“数周的编程可以为您节省数小时的计划时间。”)您能推荐一个更好的堆栈交换吗?我相信Quartz.net是一个很好的起点(我自己没有使用过)。不幸的是,由于“建议a”的问题往往是基于意见的,它们实际上不是SE网络的一部分,因此才是正确的链接。引用他们的宣传语:。。。JAVA从最小的独立应用程序到最大的电子商务系统。。。用于执行数十个、数百个甚至数万个作业的简单或复杂计划。。。Quartz调度器包括许多企业级功能,例如支持JTA事务和集群。