如果我的 oozie 工作流程中的任何操作失败,我正在尝试发送电子邮件警报。如何获取失败的操作,或者有什么方法可以查看工作流 DAG 中最后一个成功的操作名称?
问问题
1042 次
2 回答
0
没有直接的方法来获得最后一个“成功”的动作 AFAIK。如果您在特定上下文之外考虑一下:考虑到 fork/join、控制节点等,定义“成功”并不容易。
但是,一旦定义了标准,我想可以使用 Oozie 的 REST API 找到最后一个“成功”节点。例如,工作流的响应 ($OOZIE_URL/v1/job/job_id?show=info) 返回工作流中的操作列表。动作与“过渡”字段链接:最后一个动作的过渡为空,其他节点的过渡是它们的下游节点,等等。
祝你好运,让我们知道它是否有效。
于 2015-02-05T22:43:57.327 回答
0
如何获取失败的操作
wf:lastErrorNode()
在以下 Oozie-workflow 示例片段中,上述函数用于获取最后失败操作的错误消息:
<kill name="fail">
<message>Action failed, error message: ${wf:errorMessage(wf:lastErrorNode())}</message>
</kill>
我不知道有什么方法可以获取“最后成功的操作名称”。
有关这些函数的更多信息,请参阅 Oozie Workflow 文档的Workflow EL 函数部分。
于 2017-08-22T04:21:23.713 回答