Loading...
Loading...
주기적 실행 Cron 작업 코드를 생성하는 스킬. node-cron 기반 TypeScript Service + 로그 기록 + server.ts 통합. "크론 작업", "주기적 실행", "스케줄러 생성" 키워드로 트리거.
npx skill4agent add peachsolution/peach-harness peach-add-cronlog-cleanupsms-result-processor'0 2 * * *'api/src/modules/{{module-name}}/service/{{module-name}}.service.tsdao/{{module-name}}.dao.tscountPending()findPending()insertCronLog()updateCronLog()start{{SchedulerMethodName}}()koaServer(){{MODULE_NAME}}{{ServiceClassName}}{{DaoClassName}}{{JOB_NAME}}{{SchedulerMethodName}}{{작업 설명}}{{cron-expression-description}}| 한글 설명 | Cron Expression | 설명 |
|---|---|---|
| 5초마다 | | 5초 간격 |
| 1분마다 | | 매분 0초 |
| 매일 새벽 2시 | | 매일 02:00:00 |
| 매주 일요일 자정 | | 일요일 00:00:00 |
| 매월 1일 자정 | | 매월 1일 00:00:00 |
CREATE TABLE common_log_cron (
log_seq INT AUTO_INCREMENT PRIMARY KEY,
job_name VARCHAR(100) NOT NULL,
job_type VARCHAR(20) NOT NULL, -- 'auto' / 'manual'
start_time DATETIME NOT NULL,
end_time DATETIME,
duration INT, -- 실행 시간 (초)
status VARCHAR(20) NOT NULL, -- 'running' / 'success' / 'failed'
processed_count INT DEFAULT 0,
success_count INT DEFAULT 0,
failed_count INT DEFAULT 0,
error_message TEXT,
error_stack TEXT,
server_info VARCHAR(200), -- IP|hostname|pid|version|platform
detail_log TEXT, -- JSON 상세 로그
insert_seq INT NOT NULL,
insert_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_seq INT,
update_date DATETIME
);start{{SchedulerMethodName}}()koaServer()사용자: "매일 새벽 2시에 오래된 로그를 삭제하는 크론 작업 만들어줘"
생성 결과:
- api/src/modules/log-cleanup/service/log-cleanup.service.ts
- api/src/modules/log-cleanup/dao/log-cleanup.dao.ts
- server.ts 통합 코드
실행 주기: 매일 새벽 2시 (0 2 * * *)
시간대: Asia/Seoul# 타입 체크
cd api && bun run build
# 린트 체크
cd api && bun run lint:fixed
# Cron 로그 테이블 존재 확인
# common_log_cron 테이블이 없으면 생성 안내