示例#1
0
def run(scenario_dirs, max_capacity_mb=500, port=8081):
    app = make_app(scenario_dirs, max_capacity_mb)
    app.listen(port)
    logging.debug(f"Envision listening on port={port}")

    ioloop = tornado.ioloop.IOLoop.current()
    signal.signal(
        signal.SIGINT,
        lambda signal, _: ioloop.add_callback_from_signal(on_shutdown))
    signal.signal(
        signal.SIGTERM,
        lambda signal, _: ioloop.add_callback_from_signal(on_shutdown))
    ioloop.start()
示例#2
0
def main():
    """ main program, start local server """
    app = make_app()
    app.listen(8080)
    ioloop = tornado.ioloop.IOLoop.instance()
    signal.signal(signal.SIGINT, lambda sig, frame: ioloop.add_callback_from_signal(on_shutdown))
    ioloop.start()
示例#3
0
 def catch_sigint():
     old_handler = signal.signal(
         signal.SIGINT,
         lambda sig, frame: ioloop.add_callback_from_signal(shutdown))
     try:
         yield
     finally:
         signal.signal(signal.SIGINT, old_handler)
示例#4
0
 def catch_sigint():
     old_handler = signal.signal(
         signal.SIGINT,
         lambda sig, frame: ioloop.add_callback_from_signal(shutdown))
     try:
         yield
     finally:
         signal.signal(signal.SIGINT, old_handler)
示例#5
0
def main():
    """ main program, start local server """
    app = make_app()
    app.listen(8080)
    ioloop = tornado.ioloop.IOLoop.instance()
    signal.signal(
        signal.SIGINT,
        lambda sig, frame: ioloop.add_callback_from_signal(on_shutdown))
    ioloop.start()
示例#6
0
def main():
	application = tornado.web.Application([
		(r"/dungeons", DungeonsHandler),
	],
	debug=True,
	autoreload=True,
	serve_traceback=True,
	static_path='../static/',
	template_path='../static/template/')

	application.listen(8181)
	print 'server listen...'

	ioloop = tornado.ioloop.IOLoop.current()
	signal.signal(signal.SIGINT, lambda sig, frame: ioloop.add_callback_from_signal(ioloop.stop))
	signal.signal(signal.SIGTERM, lambda sig, frame: ioloop.add_callback_from_signal(ioloop.stop))

	ioloop.start()
	print 'server stop'
示例#7
0
 def interrupt_handler(self, signum, stackframe):
     """Signal handler for SIGINT and SIGHUP. We set a flag to prevent
     further requests, and set a timer for final shutdown.
     """
     if signum == signal.SIGINT:
         signame = 'Interrupt'
     elif signum == signal.SIGHUP:
         signame = 'Hangup'
     else:
         signame = 'Signal %s' % (signum,)
     if self.caughtinterrupt:
         self.twlog.error('%s! Shutting down immediately!', signame)
         raise KeyboardInterrupt()
     self.twlog.warning('%s! Queueing shutdown!', signame)
     self.caughtinterrupt = True
     ioloop = tornado.ioloop.IOLoop.instance()
     def func():
         self.twlog.info('Waiting 1 second for requests to drain...')
         ioloop.add_timeout(datetime.timedelta(seconds=1.0),
                            self.final_shutdown)
     ioloop.add_callback_from_signal(func)
示例#8
0
def run():
	settings["debug"] = config.DEBUG

	app = tornado.web.Application(routes, **settings)

	add_dynamic_handlers(app)

	ioloop = tornado.ioloop.IOLoop.instance()

	signal.signal(signal.SIGINT, lambda sig, frame: ioloop.add_callback_from_signal(sigint_handler))

	server = tornado.httpserver.HTTPServer(app)
	server.listen(5000)
	
	ioloop.start()
示例#9
0
文件: run.py 项目: ilastik/servicehub
def sigterm_handler(app, ioloop, *args, **kwargs):
    app.logger.info("Caught SIGTERM. Stopping service.")
    ioloop.add_callback_from_signal(app.shutdown)
示例#10
0
    def sigterm_handler(*args, **kwargs):
        # will stop tornado on SIGTERM, making the program exit cleanly
        def shutdown_tornado():
            ioloop.stop()

        ioloop.add_callback_from_signal(shutdown_tornado)
                          help="Specify the address of the statistics server as ADDR (default %s" % statserver,
                          metavar="ADDR")

        (options, args) = parser.parse_args()
        myport = int(options.port)
        statserver = options.statserver
        if (statserver[0:].isdigit()):
            statserver = '{}:{}'.format( 'localhost', statserver)

        # Positional arguments are storage server addresses, if empty use default at localhost:7184
        for arg in args:
            if (arg[0:].isdigit()):
                storageservers.append( '{}:{}'.format( 'localhost', arg))
            else:
                storageservers.append( arg)
        if (len( storageservers) == 0):
            storageservers.append( "localhost:7184")

        # Start server:
        print( "Starting server ...\n")
        application.listen( myport )
        print( "Listening on port %u\n" % myport )
        ioloop = tornado.ioloop.IOLoop.current()
        signal.signal( signal.SIGINT, lambda sig, frame: ioloop.add_callback_from_signal(on_shutdown))
        ioloop.start()
        print( "Terminated\n")
    except Exception as e:
        print( e)


示例#12
0
 def handler(signum, frame):
     logger.info("Received %s, shutting down...", signum)
     ioloop = tornado.ioloop.IOLoop.current()
     ioloop.add_callback_from_signal(ioloop.stop)
示例#13
0
                          metavar="ADDR")

        (options, args) = parser.parse_args()
        myport = int(options.port)
        statserver = options.statserver
        if (statserver[0:].isdigit()):
            statserver = '{}:{}'.format('localhost', statserver)

        # Positional arguments are storage server addresses,
        # if empty use default at localhost:7184
        for arg in args:
            if (arg[0:].isdigit()):
                storageservers.append('{}:{}'.format('localhost', arg))
            else:
                storageservers.append(arg)
        if (len(storageservers) == 0):
            storageservers.append("localhost:7184")

        # Start server:
        print("Starting server ...\n")
        application.listen(myport)
        print("Listening on port %u\n" % myport)
        ioloop = tornado.ioloop.IOLoop.current()
        signal.signal(
            signal.SIGINT,
            lambda sig, frame: ioloop.add_callback_from_signal(on_shutdown))
        ioloop.start()
        print("Terminated\n")
    except Exception as e:
        print(e)
示例#14
0
def shutdown_server(signum, frame):
    print("Request to shutdown server.")
    ioloop = tornado.ioloop.IOLoop.current()
    ioloop.add_callback_from_signal(ioloop.stop)
示例#15
0
文件: main.py 项目: bitterjug/munger
def signal_handler(signum, frame):
    ioloop.add_callback_from_signal(ioloop.stop)
示例#16
0
 def handler(_signum, _stack_frame):
     # Tell the ioloop to run the stop action.  IO loops are
     # not very thread safe, and we can't run the stop()
     # method in the signal handler.
     ioloop.add_callback_from_signal(stop)
示例#17
0
 def sigterm_handler(signum, frame):
     log.info('requested shutdown')
     log.info('shutting down server on %s:%d', options.host, options.port)
     ioloop.add_callback_from_signal(server_stop)
示例#18
0
 def send_log_msg_async(self, msg):
     ioloop = tornado.ioloop.IOLoop.instance()
     ioloop.add_callback_from_signal(lambda x: x[0].send_log_msg(x[1]), (self, msg))
示例#19
0
 def handle_signal(self, signum, frame):
     """called on sigterm"""
     ioloop = tornado.ioloop.IOLoop.current()
     ioloop.add_callback_from_signal(self.request_stop)
示例#20
0
def stop_webserver(from_signal=False):
    ioloop = tornado.ioloop.IOLoop.instance()
    if from_signal:
        ioloop.add_callback_from_signal(lambda x: x.stop(), ioloop)
    else:
        ioloop.add_callback(lambda x: x.stop(), ioloop)
示例#21
0
 def handle_signal(sig, frame):
     logging.warning('received signal: %r', sig)
     ioloop.add_callback_from_signal(ioloop.stop)
示例#22
0
 def before_terminate(*_args):
     bot.remove_webhook()
     ioloop = tornado.ioloop.IOLoop.current()
     ioloop.add_callback_from_signal(ioloop.stop)