Ejemplo n.º 1
0
def main():
    # 配置main.py的命令
    define("port",
           default=None,
           help="Run server on a specific port, mast input",
           type=int)

    # start from cmd
    options.parse_command_line()
    try:
        if options.port == None:
            options.print_help()
            return
    except:
        print 'Usage: python main.py --port=8000'
        return

    # 信号监听
    def sig_handler(sig, frame):
        my_logger.warning('Caught signal: %s', sig)
        tornado.ioloop.IOLoop.instance().add_callback(shutdown)

    # 关闭服务器
    def shutdown():
        my_logger.info('Stopping http server')
        http_server.stop()

        io_loop = tornado.ioloop.IOLoop.instance()

        deadline = time.time() + 1

        def stop_loop():
            now = time.time()
            if now < deadline and (io_loop._callbacks or io_loop._timeouts):
                io_loop.add_timeout(now + 1, stop_loop)
            else:
                io_loop.stop()
                my_logger.info('Shutdown')

        stop_loop()

    global http_server
    http_server = tornado.httpserver.HTTPServer(Application())
    http_server.listen(options.port)

    # 按Ctrl+C退出程序
    signal.signal(signal.SIGTERM, sig_handler)
    signal.signal(signal.SIGINT, sig_handler)

    # start server
    tornado.ioloop.IOLoop.instance().start()
    my_logger.info('Exit Master')
Ejemplo n.º 2
0
import tornado.web

from util.options import define, options
from util.config import Config
from util import torndb
import util.globalvar as GlobalVar

from service.lib import BookHandler, ReaderHandler, BorrowHandler

MODULE = 'master'
MAX_WAIT_SECONDS_BEFORE_SHUTDOWN = 3

CONF_FILE = 'conf/svc.conf'

define('port',
       default=None,
       help="run server on a specific port, must imput",
       type=int)


def parse_config(conf_file):
    conf = Config(conf_file)
    conf.load_conf()


def init_logging(port):
    log_file = MODULE + "." + str(port) + ".log"
    logger = logging.getLogger()
    logger.setLevel(Config.log_level)

    fh = logging.handlers.TimedRotatingFileHandler(os.path.join(
        Config.log_path, log_file),
from util.options import define,options
from util.config import Config
from util import torndb
from util.dbconst import TableName,TableFields,TableSelectSql
import util.globalvar as GlobalVar

from service.host import HostHandler

MODULE="master"
MAX_WAIT_SECONDS_BEFORE_SHUTDOWN = 3

CONF_FILE="conf/svc.conf"

#Define command parameter
define("port", default=None, help="Run server on a specific port, mast input", type=int)

#The config file parser
def parse_config(conf_file):
    #parse conf file
    conf = Config(conf_file)
    conf.load_conf()

#Init logging
def init_logging(port):
    log_file = MODULE + "." + str(port) + ".log"
    logger = logging.getLogger()
    logger.setLevel(Config.log_level)

    #fh = logging.FileHandler(os.path.join(Config.log_path, log_file)) 
    fh = logging.handlers.TimedRotatingFileHandler(os.path.join(Config.log_path, log_file), when='D', backupCount=10) 
Ejemplo n.º 4
0
import tornado.ioloop
import tornado.web

from util.options import define, options
from util.config import Config
from util import torndb
import util.globalvar as GlobalVar

from service.lib import  BookHandler, ReaderHandler, BorrowHandler

MODULE='master'
MAX_WAIT_SECONDS_BEFORE_SHUTDOWN=3

CONF_FILE='conf/svc.conf'

define('port',default=None, help="run server on a specific port, must imput",type=int)

def parse_config(conf_file):
	conf = Config(conf_file)
	conf.load_conf()

def init_logging(port):
	log_file=MODULE+"."+str(port)+".log"
	logger=logging.getLogger()
	logger.setLevel(Config.log_level)

	fh = logging.handlers.TimedRotatingFileHandler(os.path.join(Config.log_path,log_file),when='D',backupCount=10)
	sh = logging.StreamHandler()

	formatter = logging.Formatter('%(asctime)s -%(module)s:%(filename)s-L%(lineno)d-%(levelname)s: %(message)s')
	fh.setFormatter(formatter)