使用开源/自由软件的批处理作业依赖关系

时间:2009-11-10 13:38:15

标签: linux unix dependencies cron

我运行一个大型数据仓库工厂,我们有很多夜间工作,但是很多人在启动之前依赖于提取或数据加载过程。目前,我们使用“昂贵的调度系统”来制作这些系统。

有没有办法可以使用开源或免费的unix / linux工具(如cron)设置作业依赖?

转向开放式解决方案将会很棒并且为我们节省很多!

关心马特

4 个答案:

答案 0 :(得分:2)

Cfengine可以做这样的事情。您可以将其设置为cron替换,在预定时间运行任意命令,并且可以设置“类”,以便仅在启用某些类时才执行某些操作。类可以是“这是一个Linux系统”到“它当前在5到10分钟之后”到“系统加载高于值x”到“我刚刚指定的这个任意shell命令返回true”,所以你可以设置你的类来表明你的工作依赖性。

我怀疑这会像调度系统一样强大(依赖关系必须通过配置类手动设置,并发调度需要额外的脚本或配置工作),但它是免费和开源的。

Cfengine的第2版并不是特别令人愉快(用Seth Vidal的话来说,“它的[sic]语法杀死了小猫”)。我没有使用Cfengine 3. Puppet具有与Cfengine类似的设计目标,可能更容易使用。

答案 1 :(得分:1)

去年我asked a similar question(这些天可能是Serverfault更好的地方?)。不幸的是,似乎没有简单的安装和解决方案。

答案 2 :(得分:1)

Cron本身不处理此问题。加载数据的进程可以在完成后写出状态文件吗?这将允许后续作业在执行实际工作之前检查状态文件。显然,这不是一个理想的解决方案(我怀疑有太多的失败点),但也许这对你想要完成的事情来说已经足够了。

答案 3 :(得分:1)

Schedulix是适用于Linux的开源工作负载自动化解决方案: http://www.schedulix.org