0

我是 Datastage 的新手,我需要在一天中的某个时间更新时间戳时触发多个序列。

第一个序列 - 1.它从一个并行作业开始,该作业生成一个要运行的序列列表。3.然后循环开始(数字,26次),4.在循环内部执行第二个序列。5.然后它在结束循环之前休眠15m。

2nd Sequence - 1.Reads 带有执行命令的序列列表。2.另一个循环从列表的命令输出开始。3.然后我在循环中执行一个并行作业,该作业将检查列表中每个项目的时间戳。将结果保存在文件中(如果满足与时间戳有关的条件,则为“ok”)。4.读取上一个并行作业的结果。

这是它开始不起作用的时候。

基本上我想要它做的是如果结果是好的,它意味着继续执行该项目的序列,否则它会返回到这个循环并检查下一个项目。

在检查列表中的下一项之前,我不能等待序列结束。该列表有 7 个项目。

所以,我所拥有的是,在它读取结果后,我有一个嵌套条件,该条件指示要根据循环计数器选择哪个序列。

它总是很好地执行第一个,但随后它结束,而不是转到列表中的下一个项目,它说“startloop 已启动,但它没有完成所有迭代”。

请注意,当它读取结果时,如果它不是“ok”,它会进入一个音序器(设置为任何),然后返回循环)。

4

1 回答 1

0

这里有两个选项之一。

  1. 使用 Datastage Server 例程调用所需的 DataStage 作业,而不会阻塞。
  2. 编写一个调用 dsjob 并且不阻塞的 shell 脚本。
于 2021-05-28T17:10:12.277 回答