
Windows Server 2016의 작업 스케줄러를 비활성화했다가 다시 활성화한 후 반복적인 작업이 실행되지 않는 문제가 있습니다.
저는 미래 5분의 "트리거->시작" 작업을 생성하고 작업이 5분마다 실행되도록 설정했습니다. "설정->예정된 시작을 놓친 후 가능한 한 빨리 작업 실행" 옵션이 선택되어 있습니다.
모든 것이 잘 작동합니다. 작업은 예약된 시작 시간에 실행된 다음 5분마다 실행됩니다.
작업을 비활성화하고 5분 이상 기다립니다.
작업을 활성화하면 다시 실행되지 않습니다.
다음 실행 시간은 5분마다 계속 업데이트되지만 작업은 실행되지 않으며 마지막 실행 시간은 업데이트되지 않습니다.
작업이 다시 활성화되면 작업 기록에 항목이 없으며 Windows 이벤트 로그에 이벤트가 없습니다.
다음 날 시작 시간에 도달하면 작업이 다시 실행되기 시작하지만 작업이 다시 활성화되는 시점과 시작 시간이 다시 시작되는 시점 사이에 긴 지연이 있을 수 있으므로 이는 바람직하지 않습니다.
답변1
작업은 매일 실행되고 무기한 또는 매일 반복되도록 설정되었습니다. 한 번 실행하고 무기한 반복으로 변경했으며 비활성화된 작업이 활성화되면 실행을 다시 시작합니다.
이렇게 설정하면 스케줄러에 "트리거된 후 5분마다 무기한 반복"이 표시되기 때문에 이것이 효과가 있다고 생각합니다. 따라서 작업이 트리거되면 비활성화된 경우에도 "트리거된" 상태로 유지되므로 다시 활성화되면 일정에 따라 실행이 재개됩니다.
참고: 작업을 처음 설정할 때 작업이 처음으로 트리거되도록 시작 시간을 미래로 설정해야 합니다.
답변2
이는 예상된 동작입니다. 작업은 트리거 조건 중 하나가 충족될 때만 시작됩니다. 작업을 비활성화하는 행위는 작업을 중지하는 것과 동일한 효과를 갖습니다. 그런 일이 발생하면 트리거 조건이 충족될 때까지 다시 실행되지 않습니다. 안타깝게도 새 트리거를 생성할 때 최소 간격은 다음과 같습니다.일일, 이는 귀하의 시나리오에서 다소 융통성이 없습니다.
두 가지 옵션이 떠오릅니다.
- 작업을 비활성화하여 실행을 중지하는 대신 간단히 중지하면 됩니다. 짧은 기간 동안만 실행을 중지해야 하는 경우 이것이 전부일 수 있습니다. 그러나 작업이 시작되거나 중지되는 시점을 완전히 제어해야 하는 경우 트리거 조건을 정의하지 말고 작업을 수동으로 시작/중지하세요.
- 작업이 활성화된 후 트리거가 실행되도록 여러 트리거를 만듭니다. 이는 특히 5분마다 작업을 실행해야 하는 경우에 이상적이지는 않습니다.
답변3
이는 "일일" 작업과 "일회성" 작업 간의 동작 차이를 강조합니다. 이것은 다소 직관에 어긋나지만 작업을 비활성화한 다음 다시 활성화한 직후에 자동으로 다시 실행되도록 하려면 해당 작업을 "매일"이 아닌 "일회성" 작업으로 설정해야 합니다.
작업 목록(일정 차이를 강조하기 위해 의도적으로 이름 지정)에서 표시되는 방식은 다음과 같습니다.
일일 작업이 비활성화되었다가 다시 활성화되면 시작 시간(따라서 그날 늦게 또는 다음 날)에 다시 시작됩니다.
일회성 작업이 비활성화되었다가 다시 활성화되면 시작 시간을 기준으로 반복 간격이 한 번 더 경과되는 즉시 재개됩니다.