개발/python
파이썬 작업스케줄러 할 때 주의점(셀레니움/schedule모듈)
북치기_개발모드
2022. 4. 6. 18:48
반응형

셀레니움으로 짠 파이썬 코드를 작업스케줄러로 돌리니 자꾸 에러가 났다.
cmd로 돌리기 때문에 그런 것 같다. 솔직히 아 그런가 하고 headless 해보니 잘 됐다. 개꿀
options = webdriver.ChromeOptions() options.add_argument("headless") driver = webdriver.Chrome('C:\chromedriver99.exe', options=options)
headless 옵션을 넣어주면 창을 안켜기 때문에 cmd에서도 잘 돌아간다.
끝!
인줄알았는데
autoit이랑 이것저것 쓰려다보니 headless로는 안됐고,
작업스케줄러는 무조건 백그라운드 재생이다보니 계속 에러가나서 미치는줄 알았다.
별의 별 방법을 다 했지만 결국 안됐다.
따라서 그냥 파이썬 프로그램 자체를 시작프로그램에 등록시켜서, 시간에 맞춰 실행시키는 방법을 택했다.
pip install schedule
설치 후 본문 맨밑에이렇게 추가했다. 월화수목금 18:40에 main_함수 실행 이라는 뜻이다.
밑에 while문은 계속 러닝모드로 해놓는 것이니 지우지말고, 해당 포맷에서 설정만 바꿔서 쓰도록 하자.
schedule.every().monday.wednesday.tuesday.thursday.friday.at("18:40").do(main_) while True: schedule.run_pending() time.sleep(1)
그 후 시작프로그램에 등록해야한다.
윈도우 시작프로그램 경로는 다음 두 개다. 여기에 .py의 바로가기 파일들을 넣어준다.
C:\Users\유저네임\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
테스트 필요함!
난 이렇게 해결함
작업 스케쥴러는 백그라운드에서 돌아갈 수 있는 모듈로 구성했을 때 써야겠다..
진짜 자꾸 에러나고, 관리자가 실행못하게 한다는 둥..
미치는줄 알았다!!
ㅎㅎㅎ
다른방식으로 타협할 수 있어서 다행이다..
단점은 계속 백그라운드로 돌고있다는 점이다.
따라서 필요없으면 프로세스 꺼두고 하는게 좋을듯.
반응형