작업 스케쥴러에서 파이썬 실행 안될때 오류 보기

반응형
    반응형

    작업스케쥴러를 이용해 .py를 실행시키면 cmd창이 바로 꺼져서 오류확인을 못하는데 이거를 확인하려고 코딩에다 input()나 pause를 걸어놓아도 .py파일 자체의 오류 때문에 훅 꺼집니다.

    희한하게도 파이참이나 cmd에서는 실행하면 되는데 작업 스케쥴러에서 실행시키면 안 되는 경우가 있는데

    이런 경우에 작업스케쥴러에 배치파일로 적용해 오류를 확인하는 방법입니다. 

     

    말 그대로 오류확인용입니다.

    작업스케쥴러에서 프로그램/스크립트에 실행파일을 pythonw.exe로 실행시키면 cmd 창이 나오지 않고 실행이 되어서 편합니다. 배치파일을 이용하면 cmd창은 무조건 나오는 거라서 약간 불편하기는 합니다.

     

    아무튼 저는 배치파일를 오류날때만 오류확인용으로 쓰지만 배치파일로 만드셔서 실행시키는 분도 있을테니 이 방법을 응용해서 바로 작동할 수 있게 쓰셔도 됩니다.

     

    배치파일 만들기

    메모장을 통해서 경로를 입력합니다.

    두가지를 쓰고 마지막에 pause를 쓸건데 

    첫번째는 파이썬(python.exe)실행경로, 두번째는 실행할 파일(.py)경로입니다.

     

    메모장에 위와 같이 써줍니다.

    저는 32bit 가상환경을 쓰기 때문에 가상환경에 있는 python.exe로 실행하도록 했고 

    pratice.py라는 파이썬 파일을 작업 스케쥴러를 통해 자동으로 실행시키고자 메모장에 썼습니다.

    밑에 pause는 아무키나 누르면 꺼지겠끔 하는겁니다. 

    자동으로 절대 꺼지지 않게 하기 위해서 pause를 적어놓았습니다.

     

    이제 저장합니다. 메모장을 많이 써봐서 알겠지만 그냥 확장자 막 해도 잘 저장합니다. 

    반드시 확장자까지 쓰셔야합니다. 안쓰면 .txt로 저장됩니다.

    저는 pratice.bat으로 저장했습니다.

     

    작업 스케쥴러에 적용

    앞서 만든 배치파일을 작업 스케쥴러에 적용해보겠습니다.

    작업 스케쥴러를 만들 줄 안다는 전제하에 진행하겠습니다.

    잘 모르시면 밑에 관련 포스팅에 이전에 작성한 포스팅 링크를 올려놓을테니 참고하시면 되겠습니다.

     

     

    빨간 박스로 칠해진 부분을 변경합니다. 

    프로그램/스크립트에는 배치파일을 넣어주시고 

    시작옵션에는 배치파일이 있는 폴더만 지정합니다.

    즉, 제 경우로 보면 'H:\autopython\project_slack' 까지 적어주시면 되겠습니다.

     

    실행

    이제 실행을 해보겠습니다.

    작업 스케쥴러에서 작동하도록 하고 실행을 시키면 cmd 창이 나옵니다.

     

    pause 이전이 다 안되는 이유들입니다. 

    오류를 이제 알 수 있으니 구글링으로 찾아보시고 하나씩 해결하면 될 것 같네요.

     

     

    이 포스팅은 작업스케쥴러로 실행할 때 오류 확인을 위한 방법이었고

     

    cmd창을 안나오고 파이썬 실행을 하고 싶거나

    작업스케쥴러로 설정하는 것 자체를 잘 모르시는 분들은 아래 포스팅을 참고해주세요~!

     

     

    관련 포스팅

    [Python/기초] - [업무자동화] 윈도우 작업스케줄러 사용해 파이썬 실행하기

     

    댓글

    Designed by JB FACTORY

    ....