oozie:工作流:如何获得最后一次成功的操作

qltillow  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(410)

如果我的oozie工作流中的任何操作失败,我将尝试发送电子邮件警报。如何获取失败的操作或是否有任何方法可以在工作流dag中查看最后成功的操作名称?

dnph8jn4

dnph8jn41#

没有直接的方法可以让最后一次“成功”的行动失败。如果您在特定上下文之外考虑一下:考虑到fork/join、控制节点等,很难定义“success”。
不过,一旦定义了条件,我想可以使用oozie的restapi找到最后一个“成功”的节点。例如,工作流的响应($oozie\u url/v1/job/job\u id?show=info)返回工作流中的操作列表。动作链接到“transition”字段:最后一个动作的transition为空,其他节点的transition为其下游节点,等等。
祝你好运,让我们知道它是否有效。

hm2xizp9

hm2xizp92#

如何获取失败的操作

wf:lastErrorNode()

在下面的oozie工作流示例片段中,前面提到的函数用于获取上次失败操作的错误消息:

<kill name="fail">
    <message>Action failed, error message: ${wf:errorMessage(wf:lastErrorNode())}</message>
</kill>

我不知道有什么办法可以得到“最后一个成功的动作名”
请参阅oozie workflow文档中的workflow el functions部分,以了解有关这些功能的更多信息。

相关问题