2012-04-03 95 views
0

我有一個job.py它有以下代碼。作爲守護程序在Python腳本中運行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() 
  • 當我在命令提示運行此,它立即退出:

INFO [2012-04-03 13:31:02825]:開始線程池0芯線程 和20個最大線程INFO [2012-04-03 13:31:02,827]:調度程序 啓動信息[2012-04-03 13:31:02,827]:添加了作業「run_job(trigger: cron [minute =' 2'],下次運行時間:2012-04-03 14:02:00)「到求職店 」default「INFO [2012-04-03 13:31: 02828]:關閉線程池

  • 我怎樣才能makde此作爲後臺進程運行?
+0

資源在這裏:http://stackoverflow.com/questions/5835600/apscheduler-not-starting – daydreamer 2012-04-03 20:50:27

回答

0

請寫下你的main()

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

此外,它不應該傷害考慮PEP 3143

相關問題