【问题标题】:Cron management tool designCron管理工具设计
【发布时间】:2015-11-10 06:25:09
【问题描述】:

我们计划在云网络上编写一个基于 Web 的 cron 管理。 它将通过网络在机器上安排和记录 cron 作业。

我们正在考虑两种设计方法:

  1. 当用户从 Web 界面安排作业时,使用 ssh 和 crontab 命令在机器上安排作业。

  2. 将作业调度信息存储在数据库中,并在每台机器上运行脚本并获取为其指定的 cron 作业。

请建议哪种方法可能更好或任何其他更好的方法来做同样的事情。

【问题讨论】:

    标签: architecture cron software-design


    【解决方案1】:

    确保将作业信息存储在数据库中。这样,您就可以很好地定义应用程序的边界。你有专门的工具来备份它,在浏览状态失败后恢复等等。大多数语言已经有专门的(集群)库来管理任务调度 - 只需使用它。

    但是你真的需要在每台机器上运行一些脚本吗?我不知道您的应用程序,但也许拥有管理作业触发的单独集群就足够了?或者如果它更复杂,那么也许你需要一个进行分布式处理的软件(如 map-reduce、spark 或类似的东西)

    【讨论】:

    • 我所指的每台机器的脚本将从数据库中获取 cron 作业并将作业安排为 cron。在每台机器上单独运行它的原因是,不会有依赖关系。就脚本而言,每个都是一个单独的实体。如果我们使用单独的集群,那么我们将在机器上使用 ssh 调度作业
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 2017-04-26
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多