본문 바로가기
파이썬/파이썬

[ 파이썬 ] 특정 시간마다 함수 호출 및 종료

by jeong-f 2021. 12. 25.
반응형

파이썬을 이용하여 크롤링을 수행할 때 특정 시간마다 함수 호출을 하고 종료해야 하는 경우가 있습니다.
전역 변수 및 함수를 만든 후 각각의 상황에 동작하도록 구현하고자 합니다.

소스코드

  • 1초마다 실행
  • 5초마다 실행
  • 12:00 종료
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
'''
pip install schedule
pip install datetime
'''
from numpy import string_
import schedule
from datetime import datetime
import sys
import time
 
#---------------------------------------------------
def test_1Sec():
    global test_count1
    test_count1 +=1
    
    now = datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
    print(f"1초 {now}__{test_count1}")
 
#---------------------------------------------------
def test_5Sec():
    global test_count5
    test_count5 +=1
    
    now = datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
    print(f"5초 {now}__{test_count5}")
 
#---------------------------------------------------
def exit():
    print("function exit")
    sys.exit() # 프로그램 종료
 
#---------------------------------------------------
 
if __name__ == '__main__':
    
    test_count1=0
    test_count5=0
 
    schedule.every(1).seconds.do(test_1Sec) #1초마다 동작
    schedule.every(5).seconds.do(test_5Sec) #5초마다 동작
    schedule.every().day.at("12:00").do(exit) # "12:00" 프로그램 종료
 
    #무한 루프를 돌면서 스케쥴을 유지한다.
    while True:
        schedule.run_pending()
        time.sleep(1)
cs

실행 결과

1초마다 카운터_1이  증가가고, 5초마다 카운터_5가 증가 가는 것을 볼 수 있습니다.

참고 링크

https://lemontia.tistory.com/508

 

[python] 파이썬 스케줄 수행 - schedule, apscheduler

특정시간마다 배치를 돌릴 수 있는 기능이 필요해서 스케줄링을 찾아보다가 2개를 발견했습니다. 1) schedule 2) apscheduler 각각의 활용방법에 대해 알아보도록 하겠습니다 1) schedule schedule 는 명령어

lemontia.tistory.com

 

반응형

댓글