本文整理汇总了Python中tornado.httpserver.HTTPServer.add_sockets方法的典型用法代码示例。如果您正苦于以下问题:Python HTTPServer.add_sockets方法的具体用法?Python HTTPServer.add_sockets怎么用?Python HTTPServer.add_sockets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tornado.httpserver.HTTPServer
的用法示例。
在下文中一共展示了HTTPServer.add_sockets方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def main():
script_path = os.path.dirname(os.path.realpath(__file__))
config_path = os.path.join(script_path, 'etc/harvest.cfg')
config = ConfigParser()
config.read(config_path)
sockets = bind_sockets(config.get('server', 'port'),
config.get('server', 'address'))
fork_processes(config.getint('server', 'instances'))
datastore = DataStore(config.get('datastore', 'host'),
config.getint('datastore', 'port'),
config.get('datastore', 'username'),
config.get('datastore', 'password'),
config.get('datastore', 'database'))
app = Application([(r"/rpc/store", Handler,
{'datastore': datastore,
'api_key': config.get('server', 'api_key')})])
server = HTTPServer(app,
no_keep_alive=config.get('server', 'no_keep_alive'),
ssl_options={
'certfile': config.get('server', 'certfile'),
'keyfile': config.get('server', 'keyfile')})
server.add_sockets(sockets)
IOLoop.instance().start()
示例2: http_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def http_server(io_loop, listener, ssl_options=None, registration_db=None):
# initialize the registry
registration_db = registration_db or Registry(loop=io_loop._loop)
# lookup routes
user_settings = { "registration_db": registration_db }
lookup_router = sockjs.SockJSRouter(LookupConnection, "/lookup",
io_loop=io_loop, user_settings=user_settings)
# initialize handlers
handlers = [
(r'/', WelcomeHandler),
(r'/ping', PingHandler),
(r'/version', VersionHandler),
(r'/nodes', NodesHandler),
(r'/sessions', SessionsHandler),
(r'/sessions/([^/]+)', SessionsHandler),
(r'/jobs', JobsHandler),
(r'/findJob', FindJobHandler),
(r'/findSession', FindSessionHandler),
(r'/ws', LookupWebSocket)] + lookup_router.urls
# initialize the server
app = Application(handlers, registration_db=registration_db)
server = HTTPServer(app, io_loop=io_loop, ssl_options=ssl_options)
server.add_sockets(listener)
return server
示例3: UIServer
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
class UIServer(object):
def __init__(self, project, prepare_stage, event_handler, io_loop):
assert event_handler is not None
assert io_loop is not None
self._application = UIApplication(project, prepare_stage, event_handler, io_loop)
self._http = HTTPServer(self._application, io_loop=io_loop)
# these would throw OSError on failure
sockets = bind_sockets(port=None, address='127.0.0.1')
self._port = None
for s in sockets:
# we have to find the ipv4 one
if s.family == socket.AF_INET:
self._port = s.getsockname()[1]
assert self._port is not None
self._http.add_sockets(sockets)
self._http.start(1)
@property
def port(self):
return self._port
@property
def url(self):
return "http://localhost:%d/" % self.port
def unlisten(self):
"""Permanently close down the HTTP server, no longer listen on any sockets."""
self._http.close_all_connections()
self._http.stop()
示例4: start_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_server():
''' Main entry point for the application '''
sockets = netutil.bind_sockets(config.listen_port)
if config.use_ssl:
server = HTTPServer(
app,
ssl_options={
"certfile": config.certfile,
"keyfile": config.keyfile,
},
xheaders=config.x_headers
)
else:
server = HTTPServer(
app,
xheaders=config.x_headers
)
server.add_sockets(sockets)
io_loop = IOLoop.instance()
try:
io_loop.start()
except KeyboardInterrupt:
logging.warn("Keyboard interrupt, shutdown everything!")
except:
logging.exception("Main I/O Loop threw an excetion!")
finally:
io_loop.stop()
示例5: start_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_server():
''' Main entry point for the application '''
sockets = netutil.bind_sockets(config.listen_port)
server = HTTPServer(app)
server.add_sockets(sockets)
io_loop = IOLoop.instance()
scoring = PeriodicCallback(
scoring_round, int(5 * 60 * 1000), io_loop=io_loop
)
scoring.start()
try:
sys.stdout.write("\r" + INFO + "The game has begun, good hunting!\n")
if config.debug:
sys.stdout.write(WARN + "WARNING: Debug mode is enabled.\n")
sys.stdout.flush()
game_history = GameHistory.Instance()
history_callback = PeriodicCallback(
game_history.take_snapshot, int(60 * 1000), io_loop=io_loop
)
history_callback.start()
io_loop.start()
except KeyboardInterrupt:
print('\r' + WARN + 'Shutdown Everything!')
except:
logging.exception("Main i/o loop threw exception")
finally:
io_loop.stop()
if config.debug and \
raw_input(PROMPT + "Flush Memcache? [Y/n]: ").lower() == 'y':
print(INFO + 'Flushing cache ...'),
FileCache.flush()
print('OK')
_exit(0)
示例6: FakeAnacondaServer
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
class FakeAnacondaServer(object):
def __init__(self, io_loop, fail_these, expected_basename):
assert io_loop is not None
self.fail_these = fail_these
self.expected_basename = expected_basename
self._application = FakeAnacondaApplication(server=self, io_loop=io_loop)
self._http = HTTPServer(self._application, io_loop=io_loop)
# these would throw OSError on failure
sockets = bind_sockets(port=None, address='127.0.0.1')
self._port = None
for s in sockets:
# we have to find the ipv4 one
if s.family == socket.AF_INET:
self._port = s.getsockname()[1]
assert self._port is not None
self._http.add_sockets(sockets)
self._http.start(1)
@property
def port(self):
return self._port
@property
def url(self):
return "http://localhost:%d/" % self.port
def unlisten(self):
"""Permanently close down the HTTP server, no longer listen on any sockets."""
self._http.close_all_connections()
self._http.stop()
示例7: start_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_server():
''' Main entry point for the application '''
if options.debug:
logging.warn("%sDebug mode is enabled; DO NOT USE THIS IN PRODUCTION%s" % (
bold + R, W
))
if options.autostart_game:
logging.info("The game is about to begin, good hunting!")
app.settings['history_callback'].start()
if options.use_bots:
app.settings['score_bots_callback'].start()
# Setup server object
if options.ssl:
server = HTTPServer(app,
ssl_options={
"certfile": options.certfile,
"keyfile": options.keyfile,
},
xheaders=options.x_headers
)
else:
server = HTTPServer(app, xheaders=options.x_headers)
sockets = netutil.bind_sockets(options.listen_port, options.listen_interface)
server.add_sockets(sockets)
Scoreboard.now(app)
try:
io_loop.start()
except KeyboardInterrupt:
sys.stdout.write('\r' + WARN + 'Shutdown Everything!\n')
except:
logging.exception("Main i/o loop threw exception")
finally:
io_loop.stop()
_exit(0)
示例8: start_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_server():
''' Main entry point for the application '''
if config.debug:
logging.warn("Debug mode is enabled; some security measures will be ignored")
# Setup server object
if config.use_ssl:
server = HTTPServer(app,
ssl_options={
"certfile": config.certfile,
"keyfile": config.keyfile,
},
xheaders=config.x_headers
)
else:
server = HTTPServer(app, xheaders=config.x_headers)
sockets = netutil.bind_sockets(config.listen_port)
server.add_sockets(sockets)
try:
io_loop.start()
except KeyboardInterrupt:
sys.stdout.write('\r' + WARN + 'Shutdown Everything!\n')
except:
logging.exception("Main i/o loop threw exception")
finally:
io_loop.stop()
_exit(0)
示例9: make_http_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def make_http_server(loop, request_handler):
server = HTTPServer(request_handler, io_loop=loop)
sockets = bind_sockets(0, HOST, family=FAMILY)
assert len(sockets) == 1
server.add_sockets(sockets)
sock = sockets[0]
return sock
示例10: main
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def main():
# options
parse_command_line()
# Locale
load_gettext_translations(settings.I18N_PATH, "luoyun")
set_default_locale('zh_CN')
logging.info("starting torando web server")
if settings.IPV4_ONLY:
import socket
sockets = bind_sockets(options.port, family=socket.AF_INET)
else:
sockets = bind_sockets(options.port)
if not settings.DEBUG:
import tornado.process
tornado.process.fork_processes(0)
application = Application()
server = HTTPServer(application, xheaders=True)
server.add_sockets(sockets)
IOLoop.instance().start()
示例11: start_game
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_game():
''' Main entry point for the application '''
cache_actions()
sockets = netutil.bind_sockets(8888)
#if process.task_id() == None:
# tornado.process.fork_processes(-1, max_restarts = 10)
server = HTTPServer(application)
server.add_sockets(sockets)
io_loop = IOLoop.instance()
session_manager = SessionManager.Instance()
if process.task_id() == None:
scoring = PeriodicCallback(scoring_round, application.settings['ticks'], io_loop = io_loop)
session_clean_up = PeriodicCallback(session_manager.clean_up, application.settings['clean_up_timeout'], io_loop = io_loop)
scoring.start()
session_clean_up.start()
try:
for count in range(3, 0, -1):
logging.info("The game will begin in ... %d" % (count,))
sleep(1)
logging.info("Good hunting!")
io_loop.start()
except KeyboardInterrupt:
if process.task_id() == 0:
print '\r[!] Shutdown Everything!'
session_clean_up.stop()
io_loop.stop()
示例12: create_async_client
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def create_async_client(path, station_coordinates_callback=None,
event_info_callback=None,
travel_time_callback=None):
application = get_application()
application.db = InstaseisDB(path)
application.station_coordinates_callback = station_coordinates_callback
application.event_info_callback = event_info_callback
application.travel_time_callback = travel_time_callback
application.max_size_of_finite_sources = 1000
# Build server as in testing:311
sock, port = bind_unused_port()
server = HTTPServer(application, io_loop=IOLoop.instance())
server.add_sockets([sock])
client = AsyncClient(server, AsyncHTTPClient())
client.application = application
client.filepath = path
client.port = port
# Flag to help deal with forward/backwards databases.
if "bwd" in os.path.basename(path):
client.is_reciprocal = True
client.source_depth = 0.0
else:
client.is_reciprocal = False
client.source_depth = application.db.info.source_depth * 1000
client.info = application.db.info
return client
示例13: start_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_server():
''' Main entry point for the application '''
if options.debug:
logging.warn("%sDebug mode is enabled; DO NOT USE THIS IN PRODUCTION%s" % (
bold + R, W
))
# Setup server object
if options.ssl:
server = HTTPServer(app,
ssl_options={
"certfile": options.certfile,
"keyfile": options.keyfile,
},
xheaders=options.x_headers
)
else:
server = HTTPServer(app, xheaders=options.x_headers)
sockets = netutil.bind_sockets(options.listen_port)
server.add_sockets(sockets)
try:
io_loop.start()
except KeyboardInterrupt:
sys.stdout.write('\r' + WARN + 'Shutdown Everything!\n')
except:
logging.exception("Main i/o loop threw exception")
finally:
io_loop.stop()
_exit(0)
示例14: start_tornado_server
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_tornado_server(self):
class HelloHandler(RequestHandler):
def get(self):
self.write("Hello from tornado!")
app = Application([("/", HelloHandler)], log_function=lambda x: None)
server = HTTPServer(app, io_loop=self.io_loop)
sock, self.tornado_port = bind_unused_port()
server.add_sockets([sock])
示例15: start_multi
# 需要导入模块: from tornado.httpserver import HTTPServer [as 别名]
# 或者: from tornado.httpserver.HTTPServer import add_sockets [as 别名]
def start_multi(self,port):
'''
多个子进程,根据CPU个数创建
'''
sockets = tornado.netutil.bind_sockets(port)
tornado.process.fork_processes(0)
server = HTTPServer()
server.add_sockets(sockets)
IOLoop.instance().start()