[ServiceNow] 일정 작업을 강제 종료하는 방법

개요



스케줄 작업이 무한 루프에 들어가 버리거나, 처리가 무겁고 좀처럼 끝나지 않게 되어 버리거나, 강제 종료시키고 싶은 경우가 있습니다.
이 기사에서는 일정 작업을 강제 종료하는 방법을 설명합니다.
결론을 보면 System Diagnostics > Active Transactions (All Nodes)로 이동하여 스케줄 작업의 Transaction을 Kill하면 강제 종료할 수 있습니다.

절차



보통은 좀처럼 강제 종료시키고 싶은 상황이 되지 않으므로, 10분간 슬립 하는 것만의 작업을 등록해, 그 작업을 강제 종료시키는 순서를 설명합니다.

1 System Definition > Scheduled Jobs로 이동하여 다음 스크립트를 스케줄 작업으로 등록합니다.
gs.info("Sleep job test start");
gs.sleep(600000);
gs.info("Sleep job test finish");

작업 이름은 Sleep job test입니다.

2 작업 정의 화면에서 Execute Now 버튼을 클릭하여 이 작업을 실행합니다.
3 실행 후 System Logs > System Log > All로 이동하여 "Sleep job test start"라는 메시지가 기록되고 작업이 시작되었는지 확인합니다.

4 작업 실행 후 System Diagnostics > Active Transactions (All Nodes)
가면 Type이 Scheduler 트랜잭션을 가지고 있기 때문에 그곳을 선택하고 Kill을 실행합니다.

5 실행 후 Refresh를 클릭하면 해당 트랜잭션이 사라지고 작업이 강제 종료됩니다. 강제 종료되었으므로 10분 이상 지나도 "Sleep job test finish"라는 메시지는 로그에 기록되지 않습니다.

이상입니다.

보충



Execute Now 버튼에서 실행하는 대신 예약 된 시간에 작업이 자동으로 실행되면 Active Transactions (All Nodes) 화면의 URL 열에 다음과 같이 작업 이름이 표시되고 어떤 트랜잭션이 물건을 알 수 있습니다.

좋은 웹페이지 즐겨찾기