다른 명령
원하는 시간마다 파이썬 자동 실행되는 스케줄러 만들기
schedule 설치
pip install schedule
schedule & time 모듈 불러오기
import schedule import time
schedule 패키지 주기 설정법
1) 시, 분, 초 단위로 실행
# 5초에 한번씩 함수 실행 schedule.every(5).seconds.do(함수) # 10분에 한번씩 함수 실행 schedule.every(10).minutes.do(함수) # 2시간에 한번씩 함수 실행 schedule.every(2).hour.do(함수)
2) 일, 주 단위로 실행
# 3일에 한번씩 함수 실행 schedule.every(3).days.do(함수) # 2주에 한번씩 함수 실행 schedule.every(2).weeks.do(함수)
3) 매일 정해진 시각에 실행
# 매일 13시 30분에 함수 실행 schedule.every().day.at("13:30").do(함수) # 매일 "11:11:11"에 함수 실행 schedule.every().day.at("11:11:11").do(함수)
4) 매주 정해진 요일의 특정 시각에 실행
- 모두 소문자로 입력하는 점 주의
(monday, tuesday, wednesday, thursday, friday, saturday, sunday) # 매주 월요일 13시 30분에 함수 실행 schedule.every().monday.at("13:30").do(함수)
schedule 패키지 실행
- step4의 무한루프 코드를 넣어주지 않으면 파이썬 파일이 종료되면서 바로 스케쥴링도 작동하지 않음.
step1.관련 패키지 및 모듈 import
import schedule import time
step2.실행할 함수 선언
def message(): print("스케쥴 실행중...")
step3.실행 주기 설정
schedule.every(1).seconds.do(message1)
step4.스캐쥴 시작
while True: schedule.run_pending() time.sleep(1)
schedule 중지
- schedule을 중지하는 법은 3가지
- while문에 조건을 걸어서 무한루프를 종료시키고 파이썬 파일 종료
- sys 모듈의 exit( ) 함수로 파이썬 파일을 강제 종료
- schedule 패키지의 cancel_job() 함수 사용
import schedule import time def message1(): print("스케쥴 실행중...") def message2(text): print(text) # 주기 설정 job1 = schedule.every(1).seconds.do(message1) job2 = schedule.every(2).seconds.do(message2,'2초마다 알려줄게요') count = 0 while True: schedule.run_pending() time.sleep(1) count = count + 1 if count > 5: schedule.cancel_job(job1)