2017-09-12 2 views
0

일련의 프로세스를 트리거하려고하는데, 후속 프로세스를 시작하기 전에 각 프로세스가 성공했는지 실패했는지 확인하고 싶습니다.Talend 작업에서 조건 테스트를 수행하는 방법은 무엇입니까?

나는 tSSH (Talend 6.4.1에서)를 사용하여 프로세스를 시작하고 성공하면 작업을 계속 진행하기를 원합니다. tSSH "구성 요소"가 0이 아닌 리턴 코드를 수신하면 실패하는 것으로 보이지 않으므로 어설 션을 사용해 보았습니다. 그러나 어설 션이 실패하더라도 구성 요소와 하위 작업이 조금 이상하게 "OK"가되는 것을 방지하지 못하므로 on- (component | subjob) -ok을 사용하여 다음 작업에 연결할 수 없습니다 .

평가 결과에 따라 작업 또는 하위 작업의 계속을 중지 할 수있는 조건부 평가 구성 요소를 찾을 수없는 것 같습니다. 내가 찾을 수

수있는 유일한 방법은 부정으로 두 번 테스트를 코딩 의미

tSSH1 --IF globalMap.get("tSSH_1_EXIT_CODE").equals(0)--> tSSH2... 
     --IF !globalMap.get("tSSH_1_EXIT_CODE").equals(0)--> (failure logging subjob) 

하는 것입니다.

내가 누락되었거나 그러한 조건부 구성 요소가 없습니까?

답변

0

당신은 (

((문자열) globalMap.get ("tSSH_1_STDERR"))과 ((문자열) globalMap.get 즉 tSSH 구성 요소의 성공/실패에 대한 tSSH 구성 요소에 대한 조건을 사용하는 경우 전역 변수를 넣을 수 있습니다 "tSSH_1_STDOUT")).

는 확인할 수 있습니다 상태 인 경우 :

경우 (! ((문자열) globalMap.get ("tSSH_1_STDERR")) = NULL) 호출 오류 로그 보다 다른 tSSH2를 호출합니다.

희망이 있습니다.

+0

"if"테스트를 제안하는 곳과 혼동 스럽습니다. – Screwtape

+0

tSSH 구성 요소를 마우스 오른쪽 단추로 클릭하고 runif를 선택하고 다음 구성 요소에 연결하십시오. 이제 글로벌 변수를 사용하여 조건을 작성하십시오. – PreetyK

관련 문제