Oozie:工作流程:如何获取上一次成功的操作
问题描述:
如果我的oozie工作流程中的任何操作失败,我正尝试发送电子邮件提醒。如何获取哪个操作失败或者有什么方法可以查看工作流DAG中最后一个成功的操作名称?Oozie:工作流程:如何获取上一次成功的操作
答
有没有直接的方法来获得最后的“成功”的行动AFAIK。如果你在特定环境下思考一会儿:考虑fork/join,控制节点等,定义“成功”并不容易。
但是,一旦标准定义好了,我想有可能找到最后一个“成功“节点使用Oozie的REST API。例如,工作流的响应($ OOZIE_URL/v1/job/job_id?show = info)返回工作流中的操作列表。动作与“过渡”字段相关联:最后一个动作的过渡为空,其他节点的过渡是它们的下游节点等。
祝你好运,让我们知道它是否有效。
答
如何获得其行动得到了失败
wf:lastErrorNode()
在下面的Oozie的工作流实例片段中,上述功能是用来获取最后的错误信息失败的动作:
<kill name="fail">
<message>Action failed, error message: ${wf:errorMessage(wf:lastErrorNode())}</message>
</kill>
我不知道有什么办法可以获得“上一个成功的动作名称”。
有关这些功能的更多信息,请参阅Oozie Workflow文档的Workflow EL functions section。