[추가]
- 프로세스 재기동 등으로 정상 종료되지 않은 Job 정리용 임시 sql 추가
This commit is contained in:
부모
322ecb12a6
커밋
8d8ea53449
67
src/main/resources/sql/old_job_cleanup.sql
Normal file
67
src/main/resources/sql/old_job_cleanup.sql
Normal file
@ -0,0 +1,67 @@
|
||||
-- 오래된 STARTED 상태 Job을 정리하는 SQL 쿼리입니다.
|
||||
-- snp_data 스키마에 batch_ 접두사를 사용하는 예시입니다. 실제 스키마에 맞추어 수정해서 사용하세요.
|
||||
|
||||
-- 참고: 시간 간격 변경이 필요하면 INTERVAL '2 hours' 부분을 수정하세요:
|
||||
-- 1시간: INTERVAL '1 hour'
|
||||
-- 30분: INTERVAL '30 minutes'
|
||||
-- 1일: INTERVAL '1 day'
|
||||
|
||||
-- 2시간 이상 경과한 STARTED 상태 Job Execution 조회
|
||||
SELECT
|
||||
je.job_execution_id,
|
||||
ji.job_name,
|
||||
je.status,
|
||||
je.start_time,
|
||||
je.end_time,
|
||||
NOW() - je.start_time AS elapsed_time
|
||||
FROM snp_data.batch_job_execution je
|
||||
JOIN snp_data.batch_job_instance ji ON je.job_instance_id = ji.job_instance_id
|
||||
WHERE je.status = 'STARTED'
|
||||
AND je.start_time < NOW() - INTERVAL '2 hours'
|
||||
ORDER BY je.start_time;
|
||||
|
||||
|
||||
-- Step Execution을 FAILED로 변경
|
||||
UPDATE snp_data.batch_step_execution
|
||||
SET
|
||||
status = 'FAILED',
|
||||
exit_code = 'FAILED',
|
||||
exit_message = 'Manually cleaned up - stale execution (process restart)',
|
||||
end_time = NOW(),
|
||||
last_updated = NOW()
|
||||
WHERE job_execution_id IN (
|
||||
SELECT job_execution_id
|
||||
FROM snp_data.batch_job_execution
|
||||
WHERE status = 'STARTED'
|
||||
AND start_time < NOW() - INTERVAL '2 hours'
|
||||
);
|
||||
|
||||
|
||||
|
||||
-- Job Execution을 FAILED로 변경
|
||||
UPDATE snp_data.batch_job_execution
|
||||
SET
|
||||
status = 'FAILED',
|
||||
exit_code = 'FAILED',
|
||||
exit_message = 'Manually cleaned up - stale execution (process restart)',
|
||||
end_time = NOW(),
|
||||
last_updated = NOW()
|
||||
WHERE status = 'STARTED'
|
||||
AND start_time < NOW() - INTERVAL '2 hours';
|
||||
|
||||
|
||||
|
||||
-- 정리 후 STARTED 상태 확인
|
||||
SELECT
|
||||
je.job_execution_id,
|
||||
ji.job_name,
|
||||
je.status,
|
||||
je.exit_code,
|
||||
je.start_time,
|
||||
je.end_time
|
||||
FROM snp_data.batch_job_execution je
|
||||
JOIN snp_data.batch_job_instance ji ON je.job_instance_id = ji.job_instance_id
|
||||
WHERE je.status IN ('STARTED', 'FAILED')
|
||||
ORDER BY je.start_time DESC
|
||||
LIMIT 20;
|
||||
|
||||
불러오는 중...
Reference in New Issue
Block a user