본문 바로가기
공부/파이썬 Python

파이썬 스케줄작업 생성하기 (Python schedule)

by 혼밥맨 2023. 1. 12.
반응형

파이썬 스케줄작업 생성하기 (Python schedule)

 

스케줄 작업이란, 윈도우즈 스케줄러는 리눅스 crontab처럼 특정 이벤트 조건을 트리거로 설정하여 동작하게 하는 예약 작업이다. 윈도우 작업 스케줄러 이용하여 어떠한 프로그램 자동 시작, 디테일 하게 설정 제어 하여 구동을 시킬수 있도록 해 준다. 

스케줄 작업을 파이썬으로도 생성, 작업, 관리가 가능하다. 자동적으로 언제까지 몇 번, 1시간 마다, 1초 마다, 1분 마다, 1일 마다, 일주일 마다 등등 용이한 스케줄 작업 관리가 가능하다.

 

Required Libaries (필수 라이브러리)

1) schedule

https://schedule.readthedocs.io/en/stable/

Installing Libaries (라이브러리 설치)

1
pip install schedule
cs

Importing Libaries (라이브러리 불러오기)

1
2
3
import schedule
import time
from datetime import time, timedelta, datetime
cs

Creating a Random Method (임의 작업 함수 작성하기)

1
2
def job():
    print("Hello World!")
cs

임의의 작업 함수이다. 파이썬 스케줄로서 실행시킬 작업 함수를 작성했다. 어떠한 작업이 될 수도 있다. 

스케줄 작업 시간 관리하기

 1) 5초 마다 작업함수 실행하기

1
schedule.every(5).second.do(job)
cs

 2) 5분 마다 작업함수 실행하기

1
schedule.every(5).minutes.do(job)
cs

 3) 특정시간까지 매 시간 마다 작업함수 실행하기

1
schedule.every().hour.until(time(11,33,42)).do(job)
cs

 4) 1일 마다 특정 시간에 작업함수 실행하기

1
schedule.every().day.at("17:30").do(job)
cs

 

예시 코드 #01

1
2
3
4
5
6
7
8
9
10
11
12
13
def job():
    print("I'm working...")
 
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)
 
while True:
    schedule.run_pending()
    time.sleep(1)
cs

Full Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# pip install schedule
 
import schedule
import time
from datetime import time, timedelta, datetime
 
 
def job():
    print("subscribe to NeuralNine!")
 
 
schedule.every(5).second.do(job)
 
schedule.every(5).minutes.do(job)
 
schedule.every(5).minute.at(":40").do(job)
schedule.every().day.at("17:30").do(job)
 
schedule.every().hour.until(time(11,33,42)).do(job)
 
 
while True:
    schedule.run_pending()
    time.sleep(1)
cs

반응형

댓글