Windows 작업 스케줄러가 여러 인스턴스를 시작하려고하는 이유는 무엇입니까?


9

클러스터에있는 하나의 Server 2008 웹 서버 (R2 아님)에서 실행되는 Windows 예약 작업이 많이 있습니다.

최근에 원래 웹 서버 클러스터에서 새로운 웹 서버 Cluser (Server 2008-R2 아님)로 이동했습니다.

Windows 작업을 실행하는 새 웹 서버 (클러스터에서)는 우리가 생각하는 원본과 동일하게 설정됩니다.

그러나 이제 새 Windows Server에서 Windows 작업 스케줄러가 각 작업을 즉시 세 번 시작하려는 것으로 보입니다.

새 작업을 대기열에 넣도록 옵션을 설정하면 다음과 같은 결과가 나타납니다.

이벤트 ID 324 작업 스케줄러가 "\ Client Reporting"작업의 "{9a1a8411-b042-45ff-8e6b-89874df230d7}"인스턴스를 대기열에 넣고 인스턴스 "{2bcc3df6-ea3b-4453-90c2-75b8b1946388}"이 완료되는 즉시 시작합니다.

기존 작업을 중지하는 옵션을 설정하면 다음과 같은 결과가 나타납니다.

이벤트 ID 323 작업 스케줄러가 새 인스턴스 "{4db66265-1f51-4ede-8535-ac7c3cb5c4c}}을 (를) 시작하기 위해"\ Client Reporting "작업의"{e685a910-b32b-414e-85fd-96bbe54314a2} "인스턴스를 중지했습니다.

틱 설정 :

  • 요청시 작업을 실행할 수 있습니다.

  • 예약 된 시작을 놓친 후 가능한 빨리 작업을 실행하십시오.

  • 1 시간 이상 실행하면 작업을 중지하십시오.

  • 요청시 실행중인 작업이 종료되지 않으면 강제로 중지합니다.

  • 컴퓨터의 AC 전원이 켜져있는 경우에만 작업을 시작하십시오.

  • 컴퓨터가 배터리 전원으로 전환되면 작업을 중지하십시오.

선택한 옵션 : 작업이 이미 실행중인 경우 기존 인스턴스를 중지하십시오.

참고 : 클러스터의 한 서버에서 다른 서버로 작업을 이동하여 선택한 특정 서버의 작업 스케줄러가 문제의 원인인지 확인했습니다. 같은 행동.

새로운 서버 구축과 관련이있을 수 있습니까?

우리는이 모든 다중 시작 없이도 정상적으로 작동하는 다른 서버 클러스터에서 매우 유사한 작업을 설정했습니다. 이러한 작업을 여기에있는 작업과 비교하면 작업 스케줄러의 옵션을 통해 사용할 수있는 설정 측면에서 분명히 다른 것은 없습니다.

트리거 : 작업이 매일 한 시간에 한 번 트리거되고이 시간을 초과하면 중지되도록 예약됩니다.

작업 : .bat 파일을 실행하십시오.

이로 인해 무엇이 / 어디에서 이런 식으로 작업이 여러 번 시작되는지 어떤 논리가 보이는지 확인할 수 있습니까?


작업을 시작하도록 설정된 것은 무엇입니까?
Bart Silverstrim

답변:


3

이는 KB2617046에 설명 된 문제입니다 . 예약 된 작업을 비활성화 한 다음 활성화하면 중복 트리거가 생성됩니다. 작업 속성에는 여전히 하나의 트리거 만 표시되지만 작업 기록에서 작업이 동시에 여러 번 트리거되는 것을 볼 수 있습니다.

Microsoft에서 제공하는 핫픽스가 있습니다. 핫픽스는 Vista 용이지만 Server 2008 SP2에서 작동합니다. 핫픽스를 적용한 후에는 중복을 제거하기 위해 작업에서 트리거를 비활성화 한 다음 다시 활성화해야합니다 (트리거 속성 창을 닫아 변경 사항을 적용하기 위해).


1
2017 년 6 월 현재 링크가 끊어지고 KB를 검색하면 다음과 같은 새로운 링크가 제공 됩니다. Windows Vista 또는 Windows Server 2008의 예약 된 작업에서 중복 트리거가 잘못 생성됨
Adam Dempsey

Windows Server 2016에서 비슷한 문제가 발생하여 작업이 시작되어 올바르게 실행되었음을 확인할 수 있습니다. 수십 번의 다시 시도가 있습니다. 불행히도 위의 모든 링크가 손상되었습니다. 올바로 설정되고 설정된 간격으로 한 번만 실행되지만 경고와 함께 기록을 넘치게됩니다. Windows Server 2016의 비슷한 문제 및 해결 방법이 있습니까? 감사.
Alexei

1

"작업이 실패하면 다음을 다시 시작하십시오."옵션 (기본값 : "1 분"및 "다시 시작 시도 : 3 회")을 선택하여 여러 프로세스를 시작하는 Windows 작업 스케줄러를 중지했습니다.

이것은 다음과 같이 반 직관적으로 보였습니다.

  1. 작업이 실패한 것으로 보이지 않았습니다 (작업이 여러 번 실행 됨)

그리고 2. 작업은 이미 어쨌든 세 번 시작하기로 결정한 것 같습니다.

또한 우리는 테스트 웹 서버에서 이와 동일한 작업을 설정 했으며이 옵션을 선택하지 않아도됩니다.


0

어떤 이유로 든 답변에 주석을 추가 할 수는 없지만 작업이 0 이외의 종료 코드를 반환하기 때문에 "실패"할 수 있습니다. 실제 작업 프로세스 대신 스크립트가 실행되도록 예약 하여이 문제를 해결할 수 있습니다. 스크립트가 실제 작업 프로세스를 실행하게하고 완료된 후 알려진 성공 코드 목록과 비교하여 프로세스의 종료 코드를 확인하십시오. 성공한 경우 코드 0으로 스크립트를 종료하고 성공하지 못한 경우 실패 종료 코드를 전달하십시오. 이렇게하면 실제로 실패한 경우 작업 스케줄러가 작업을 다시 실행할 수있는 기능을 계속 유지할 수 있습니다.

불행히도 0 이외의 종료 코드를 반환하기 위해 성공적으로 실행 된 프로세스에서는 드문 일이 아닙니다. 다양한 종료 코드가 무엇인지 문서를 확인하거나 개발자에게 문의해야합니다.


다른 사람의 질문과 답변에 대해 50 명의 담당자가 필요합니다 ...
EEAA

감사합니다 EEAA. 그리고 내 게시물에 후속 조치를 취하면 Pual이 배치 스크립트를 실행할 준비가 된 것 같습니다. 스크립트의 내용과 종료 코드를 알지 못하면 0 이외의 코드를 반환하는 이유를 말하기는 어렵지만 내 의견 / 응답은 여전히 ​​정확해야합니다. 작업 스케줄러는 종료 코드를 반환한다고 가정합니다. 없을 때 0입니다.
Matt

0

몇 달 전에 WinServer2008 R2에서이 문제에 직면했습니다. 많은 솔루션을 시도했지만 아무것도 해결되지 않았습니다.

다음은 문제를 해결하는 것 같습니다 : 작업 스케줄러 응용 프로그램 : 작업을 선택하십시오 : 그런 다음 오른쪽 메뉴에서 '종료'를 클릭하십시오. '이 작업의 모든 인스턴스를 종료 하시겠습니까?' '예'를 클릭하십시오.

이것이 귀하의 문제를 해결하기를 바랍니다.


-1

같은 문제가 발생하여 모든 작업이 대기열에 도착하므로 실행중인 모든 작업을 탐색하거나 대기열에있는 작업을 모두 끝내고 서버를 다시 시작했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.