2012-04-03 67 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

相关问题