2012-04-03 4 views
0

다음 코드가 포함 된 job.py이 있습니다. 내가 명령 프롬프트에서이 프로그램을 실행할 때파이썬 스크립트로 apschduler를 데몬으로 실행 하시겠습니까?

import datetime 
import logging 
import sys 
import os 

from apscheduler.scheduler import Scheduler 
from src.extractors.pExtractor import somejob 

def run_job(): 
    start = datetime.datetime.now() 
    logging.debug('Proposal extraction job starting') 
    somejob.main() 
    end = datetime.datetime.now() 
    duration = end - start 
    logging.debug('job completed , took ' + str(duration.seconds) + ' seconds') 

def main(): 
    logging.basicConfig(filename='/tmp/pExtractor.log', level=logging.DEBUG,format='%(levelname)s[%(asctime)s]: %(message)s') 
    sched = Scheduler() 
    sched.start() 
    sched.add_interval_job(run_job, minutes=2) 

if __name__ == '__main__': 
    main() 
  • 은 즉시 종료 : 시작 스레드 풀 0 코어 : [: 31 : 02,825 2012-04-03 13]

정보를 스레드 및 최대 스레드 20 개 정보 [2012-04-03 13 : 31 : 02,827] : 스케줄러 시작됨 정보 [2012-04-03 13 : 31 : 02,827] : 추가 된 작업 "run_job (트리거 : cron [ 2 '], 다음 실행 : 2012-04-03 14:02:00) "작업장에 "기본 "정보 [2012-04-03 13:31 : 02828] :

  • 가 어떻게 데몬 등이 실행 makde 수 스레드 풀 종료?
+0

resoulution 여기에 있습니다 : http://stackoverflow.com/questions/5835600/apscheduler-not-starting – daydreamer

답변

0

아래와 같이 main()을 작성하십시오.

def main(): 
    [... your_code_as_in_your_question ...] 
    while (True): 
     pass 

또한 PEP 3143을 고려해야합니다.

관련 문제