topic★★★★★난이도
schedule — 파이썬 알람시계
특정 시간·간격마다 함수를 자동 실행하는 작업 스케줄러. 크론(cron)의 파이썬 대체.
#schedule#예약실행#자동화#크론
왜 배우는가
매일 아침 9시에 데이터를 수집하거나, 5분마다 서버 상태를 확인하는 작업을 코드 한 줄로 예약할 수 있다.
schedule은 파이썬 알람시계다. "매일 9시에 이 함수를 실행해"를 코드 한 줄로 설정한다. 리눅스의 cron을 몰라도 파이썬만으로 예약 실행을 구현할 수 있다.
| 용도 | 설명 |
|---|---|
| `schedule.every(10).minutes.do(job)` | 10분마다 실행 |
| `schedule.every().hour.do(job)` | 매 시간 실행 |
| `schedule.every().day.at('09:00').do(job)` | 매일 09:00에 실행 |
| `schedule.every().monday.do(job)` | 매주 월요일 실행 |
| `schedule.run_pending()` | 예약된 작업 확인 + 실행 |
every().day.at()으로 매일 특정 시각에, every(N).minutes로 N분 간격으로 함수를 실행한다. while True 루프 안에서 run_pending()을 반복 호출해야 스케줄이 동작한다.
Claude Code에서 "매일 오전 9시에 크롤링해서 결과를 이메일로 보내는 스크립트를 만들어줘"라고 하면 schedule + requests + smtplib 조합의 코드를 생성한다. 24시간 실행하려면 서버나 cloud function 배포가 필요하다.