2010-04-27 3 views
38

나는 규칙적인 간격으로 실행하고 싶은 파이썬 스크립트를 가지고있다. Windows 7을 실행하고 있습니다.이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 가장 쉬운 방법?Schedule Python Script - Windows 7

+0

이를 참조하십시오 https://blogs.esri.com/esri/arcgis/2013/07/30/scheduling-a-scrip/ –

답변

54

당신은 명령 줄에서 작업을 수행 할 수 있습니다 'PythonTask'라는 시간당 작업을 생성합니다

schtasks /Create /SC HOURLY /TN PythonTask /TR "PATH_TO_PYTHON_EXE PATH_TO_PYTHON_SCRIPT" 

. HOURLY를 DAILY, WEEKLY 등으로 대체 할 수 있습니다. PATH_TO_PYTHON_EXE는 C : \ python25 \ python.exe와 같습니다. 명령 줄에 다음을 작성하여 더 많은 예제를 확인하십시오.

schtasks /? 

그렇지 않으면 작업 스케줄러를 열고 GUI를 통해 할 수 있습니다. 희망이 도움이됩니다.

+0

"/ RU 시스템" 사용자가 로그인하지 않았거나 서버 등에 유용 할 때도 스크립트를 실행할 수 있습니다. – Paolo

7

이렇게하는 간단한 방법은 지연 루프가있는 연속 실행 스크립트를 사용하는 것입니다. 예 :

def doit(): 
    print "doing useful things here" 

if __name__ == "__main__": 
    while True: 
     doit() 
     time.sleep(3600) # 3600 seconds = 1 hour 

그런 다음이 스크립트는 실행중인 상태로두고 시간당 한 번 작업을 수행합니다.

이 문제에 대한 접근 방법 중 하나 일뿐입니다. 작업 스케줄러와 같은 OS 제공 서비스를 사용하는 것은 스크립트를 항상 실행 상태로 두지 않아도되는 또 다른 방법입니다. 다음과 같이

+3

작업 스케줄러와 비교하면 어떤 이점이 있습니까? 아니면 다른 방법으로, 왜 엉망으로 TS,이 청소기 쉽고 쉽게 보인다. – Danijel

+2

이 방법을 사용하면 한 시간에 한 번 작업이 완료된다는 보장이 없습니다 ...이 작업은 작업 사이에 한 시간 만 있는지 확인합니다. 작업이 몇 초 이상 걸릴 경우 차이가 발생할 수 있습니다. – user3817518

47

당신은 그것의 대부분은 단정해야한다, 작업을 추가하려면 제어판에서 GUI (소위 "예약 된 작업")을 사용할 수 있지만 조심하는 방법은 두 가지가 있습니다 :

  • C:\python27\python.exe을 프로그램 경로로 입력하고 스크립트 경로를 인수로 입력하십시오.

  • Run whether user is logged on or not을 선택하면 오류가 발생합니다 : The directory name is invalid (0x87010B). Run only when user is logged on을 선택하면이 문제가 "해결"됩니다.

이 알아낼 나에게 꽤했다 ...

+0

이것은 나를 위해 작동하지 않습니다. 오류가 무엇인지 어떻게 알 수 있습니까? – endolith

+1

@endolith이 답변을 게시한지 수년이 지났지 만 테스트를 위해 Windows 컴퓨터가 실제로 없어졌습니다. 메모리에서 나는 어딘가에 작업을 설정 한 동일한 화면에서 볼 수 있다고 생각합니다. 그것을 찾을 수 없다면 아마도 다른 질문 (예 : [SuperUser] (https://superuser.com)에 가장 잘 게시 됨)에 대한 좋은 주제 일 것입니다. – Carpetsmoker