2016-07-25 4 views
0

작업의 세부 사항 및 작업 상태로 작업이 완료되면 자동 메일을 트리거해야하는 작업 흐름을 만듭니다.Oozie Mail에서 작업 상태를 보내는 방법은 무엇입니까?

은 즉, 나는 oozie 작업 -oozie {SERVER_DETAILS}는 oozie 메일에서 $ {작업 ID} -info이 메일을 통해 전송 될 --->이 명령의 OUPUT이 필요합니다.

나는이 시도

,

<action name="an-email"> 
<email xmlns="uri:oozie:email-action:0.1"> 
<to></to> <cc></cc> 
<subject>Email notifications for ${wf:id()}</subject> 
<body>The wf ${wf:id()} successfully completed.</body> </email> 
<ok to="myotherjob"/> 
<error to="errorcleanup"/> 
</action> 

은 혼자 작업 ID를 메일 그냥 수 있어요,하지만 난 작업 상태 및 실행 시간을 포함해야합니다.

+0

Ahem. "전자 메일"작업이 워크 플로 내에서 실행되므로 워크 플로 상태가 실행 중이고 실행 중지 시간이 아직 정의되지 않았 음을 확인할 수 있습니다. 그래서 상태를 표시하는 요점은 무엇입니까?! –

+0

더러운 해결 방법은 args * (1) * Oozie URL * (2) * Workflow ID * (3) * Workflow 이름 * (4) * [전자 메일 주소 목록] ,'oozie job -oozie "$ 1"-info "$ 2"와 같은 sthg 실행 | mailx -s "$ 3의 실행 보고서 : 성공" "$ 4"'(모든 YARN 노드가'mailx'를 통해 Ops 전자 메일을 보낼 수 있다고 가정) –

답변

0

Oozie에는 사용중인 id wf:id()과 같은 상태에 대한 EL 기능이 없습니다. 할 수있는 작업은 실패와 성공을위한 두 가지 전자 메일 동작을 정의하고 필요에 따라 사용자 지정된 메시지를 보내는 것입니다. 그러면 문제가 해결됩니다.

Expression Language Functions

관련 문제