0

로컬 시스템에서 현재 수동으로 실행중인 배치 스크립트가 있습니다. 이 스크립트를 Windows 2003 서버로 옮기고 스케줄러를 사용하여 자동화 된 작업을 설정하여 매 4 시간마다 실행할 계획입니다.완료되지 않은 경우 배치 및 오류 보고서를 실행하는 자동화 된 작업

나는 이것을 설정하는 데 아무런 문제가 없지만 지금이 작업을 수동으로 수행하는 유일한 이유는 배치가 완료되지 않는 경우입니다.

일괄 처리가 완료되면 스케줄러가 다른 이벤트를 실행하지 않아도되는지 확인하는 방법이 있습니까?

일종의 시간 프레임이 필요하다고 상상해보십시오. 가끔씩 스크립트가 오랜 시간이 걸릴 수 있으므로 문제를보고하는 데 1 시간 이내에 완료하지 못했다고합니다.

더 나은 해결책에 대한 조언이나 가능하면 크게 환영합니다.

감사합니다, 사이먼

편집 :

추가 배치 관련 태그, 나는 런타임을 확인하여보고 내 scipts에서 일부 코드를 추가 할 수있는 모든 배치를 통해 다른 옵션을이 파일 뭐하는 거지로 2 시간 동안 실행 중이면 오류가 발생하고 종료됩니다.

나는 이것을 수행하는 방법을 모르고 있지만 구글을 할 것이다. 그러나 누군가 다른 방법 일 수있는 방법을 안다면. 나는 "어떤 스크립트"를 사용할 수 있는가에 대한 질문을하기 전에 먼저 시도한 코드를 게시해야한다는 것을 알고 있으므로 먼저 뭔가를 시도해 볼 것입니다.

+0

이 배치 파일의 기능은 무엇입니까? 웹 프로세스의 대안 인 경우 오류 처리 및 요청 반복에 http://atrigger.com을 사용할 수 있습니다. – Kousha

+0

일괄 처리는 ftp 다운로드 및 업로드와 파일 이동 및 파일 생성 날짜 및 크기 확인과 같은 일부 로컬 작업을 실행합니다. 이 이벤트는 하나의 파일'download.bat'을 실행합니다.이 파일은 로컬에서 파일을 삭제하고 로컬 파일을 이동 한 다음 ftp로 다시 업로드하는 약 5 개의 .bats 파일을 실행합니다. –

+0

지금이 작업을 수행하고 예외를 처리하는 데 간단한 데스크톱 응용 프로그램을 작성하는 것이 좋습니다. – Kousha

답변

0

"기대하는"언어를보십시오. http://sourceforge.net/projects/expect/ 이것은 tcl/tk의 확장이며 자동 테스트 또는 제어 (원격) 스크립트 및 응용 프로그램을 실행하는 데 완벽하게 사용할 수있는 많은 기능을 제공합니다.

것은 당신이 할 :

는 응용 프로그램이나 쉘을 시작 같은 일부 작업을하거나 배치를 실행할 수있는 스크립트를 작성합니다. 그런 다음 예상 입력 쌍과 이러한 입력이 포착 된 경우 수행해야하는 작업이있는 루프가 있습니다. 그리고 timeout 절도 있습니다!

Expect 자체는 모든 플랫폼에서 실행되며 스크립트는 모든 OS에서 이식 가능합니다.

우리는 텔넷 세션을 실행하고, 응용 프로그램과 배치를 실행하고 직렬/usb/네트워크 링크를 통해 DUT의 반응을 모니터링하는 데 사용합니다. 그것은 매우 유연하고 사용하기 쉽습니다. 우리는 또한 gtest 기반 단위 테스트의 많은 마스터 스크립트로 기대를 사용합니다.

+0

답장을 보내 주시면 고맙겠습니다.하지만이 솔루션을 살펴 보겠습니다.하지만 스크립트를 다시 작성하지 않고 일괄 처리 만하는 것이 이상적입니다. 그러나 다른 제안이 없다면 이상적입니다. –

+0

스크립트를 다시 작성할 필요가 없습니다. 일괄 처리를 시작하고 스크립트의 출력을 잡는 간단한 expect 스크립트를 작성하기 만하면됩니다. expect 스크립트는 배치 파일의 출력에 대한 일부 규칙 만 평가합니다. 이것은 모든 조치 일 수 있으며 시간 종료로 트리거 될 수 있습니다. 타임 아웃은 배치 작업이나 그 밖의 것을 죽이기 위해 사용될 수 있습니다. 위에서 언급했듯이, 우리는 또한 우리가 사용하는 다른 모든 도구를 둘러싼 봉투로만 기대합니다. (gtest, cpp-check, 크로스 컴파일, ...). 그리고 기대 스크립트는 젠킨 프론트 엔드의 통제하에 실행됩니다. 언제든지 자세한 내용을 물어보십시오! – Klaus

+0

신난다, 나는 앞으로 며칠 안에 이것에 대해 살펴볼 것이다. 나는 당신에게 현상금을 줄 것입니다. –