我有五个箱式作业a,b,c,d,e。每个箱式作业都有一个开始条件。
对于作业a
,条件为:n(b) and n(c) and n(d) and n(e)
对于作业b
,条件为:n(a) and n(c) and n(d) and n(e)
对于作业c
,条件为:n(b) and n(a) and n(d) and n(e)
其他两个工作也是如此。(n=not运行),这些作业将每隔1小时触发大约10分钟。作业"a“开始于上午9:00,作业"b”开始于上午9:10,作业"c“开始于上午9:20,依此类推。
根据上述条件,运行b、c、d、e的作业"a“不应运行。但我实时发现的是,它们是并行运行的。以下是示例。
让我们假设作业"a“在上午9:00开始并在9:30完成,平均时间作业"b”、"c“和"d”分别在9:10 AM、9:20 AM和9:30 AM按照计划开始,并等待作业"a“完成。一旦作业"a“在上午9:30完成,所有作业" b”、"c“和"d”将并行启动,因为在上午9:30 (可能只有几秒)没有作业在运行,因此b、c和d作业的条件满足并触发作业。
有人能帮我解决上面的问题吗?
发布于 2021-10-28 09:02:48
您可以创建一个箱式作业来包括箱式作业b、c和d,在作业流中一个接一个地包括它们,以便下一个作业在前一个作业成功运行之前不能运行,即作业c在作业b成功之前不会运行。
请阅读:Can I create One Box Job inside another box job in Autosys by JIL,其中解释了在箱式作业中包括箱式作业
如果您不希望它们彼此依赖,则在每个作业后使用延迟启动时间可以工作,但如果作业有时需要更长时间运行并继续与其他箱式作业之一并行运行,则可能无法克服此问题。
发布于 2014-04-30 00:37:24
我建议您可以定义单个数量的资源,并在所有5个作业中使用该资源。你甚至可以避免使用不同的开始时间。这将允许一次只启动一个作业。
https://stackoverflow.com/questions/20891484
复制相似问题