from refill import queueListener import signal as sig import sys,getopt import logging logging.basicConfig(filename='/var/www/html/data/log/qreader.log', format='%(levelname)10s %(asctime)s %(name)10s %(thread)d %(message)s', level=logging.INFO) log = logging.getLogger('starter') def handle_sigterm(*args): queueListener.stop() pass if __name__ == '__main__': try: opts, args = getopt.getopt(sys.argv[1:], "h:p:", ["host=", 'port=']) except Exception as ex: log.error(ex) sys.exit(2) rhost = '' rport = 6379 for o, val in opts: if o in ("-h", "--host"): rhost = val elif o in ('-p', "--port"): rport = int(val) else: print("Err argv") queueListener.set_redis(rhost,rport) # sig.signal(sig.SIGTERM, queueListener.stop) #无法监听到退出消息 sig.signal(sig.SIGTERM, handle_sigterm) #可以监听到退出消息 queueListener.prepare_data()