Windows 10에서 X분마다 Python 스크립트 실행

최근에 웹사이트의 변경 사항을 식별하기 위해 웹 스크래핑 도구를 구현해야 한다는 요구 사항이 있었습니다. 시험 결과가 웹 사이트에 업로드될 때마다 데스크톱 알림을 만들고 싶었던 대학의 가상 학습 환경 웹 사이트였습니다. 웹 사이트를 확인하고 업데이트가 감지되면 Windows에 알림을 생성하는 Python 스크립트를 작성하는 것으로 시작했습니다. Python Beautiful Soup 라이브러리를 사용하여 웹 페이지의 HTML 콘텐츠를 구문 분석하고 Windows 10 Toast Notifications 라이브러리를 사용하여 Windows 10 토스트 알림을 생성했습니다. 이러한 도구는 구현을 매우 간단하게 만들었습니다.

다음 단계는 10분마다 스크립트를 실행하는 것이었고 초기 생각은 스크립트가 무한 루프에서 실행되는 동안 time.sleep()를 사용하는 것이었습니다. 이 접근 방식이 문제를 해결하더라도 time.sleep()를 사용한다고 해서 코드가 10분마다 실행되는 것은 아니라는 사실을 깨달았습니다. 그것이 하는 일은 실행 사이에 10분의 간격을 두는 것입니다. 내가 구현하고 있는 것과 같은 단순 소모성 애플리케이션의 경우 이는 문제가 되지 않지만 스케줄링을 위해 time.sleep()를 사용하는 미션 크리티컬 애플리케이션 또는 스트리밍 애플리케이션의 경우 부작용이 있을 수 있습니다. 그래서 Windows 작업 스케줄러를 사용하여 10분마다 Python 스크립트를 실행하기로 결정했습니다.

Windows 작업 스케줄러를 사용하여 Python 스크립트를 예약하는 단계



1단계 - Python 스크립트를 실행할 배치 파일 만들기



메모장을 열고 다음 구문을 추가한 후 .bat 확장자로 저장합니다.

start "" "path_to_python.exe" "path_to_python_script"


예시:

start "" "C:\Python38\python.exe" "C:\Users\Tharinda\Desktop\web_scraper\main.py"

start를 사용하면 실행 후 cmd가 닫힙니다. 첫 번째 ""는 start와 함께 사용해야 하는 제목이며 이 경우 제목은 공백으로 둡니다.

.bat 파일을 두 번 클릭한 후 파일이 올바르게 구성된 경우 python 스크립트가 실행되어야 합니다.

2단계 - Windows 작업 스케줄러에서 작업 만들기


start 메뉴를 열고 Task Scheduler를 검색합니다.
  • Actions 탭에서 Create Task를 선택합니다.


  • 작업 이름 지정


  • Triggers 탭으로 전환하고 New를 눌러 새 트리거를 만듭니다.


  • 필요에 맞게 트리거를 구성합니다. 필자의 경우 트리거는 매일 10분마다 작업을 반복하여 실행하도록 예약되어 있습니다.


  • Actions 탭으로 전환하고 New를 눌러 새 작업을 만듭니다.


  • Program/Script에서 1단계에서 만든 배치 파일
  • 을 추가합니다.



    요구 사항에 따라 조건을 추가하고 설정을 변경한 다음 OK를 눌러 작업을 저장하십시오. Windows 작업 스케줄러에 대한 자세한 내용은 Task Scheduler documentation을 참조하십시오.

    그게 전부입니다. 작업은 의도한 대로 실행되어야 합니다.

    이게 도움이 되길 바란다. 건배!

    좋은 웹페이지 즐겨찾기