本文整理汇总了Python中django.core.servers.basehttp.WSGIServer.server_close方法的典型用法代码示例。如果您正苦于以下问题:Python WSGIServer.server_close方法的具体用法?Python WSGIServer.server_close怎么用?Python WSGIServer.server_close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类django.core.servers.basehttp.WSGIServer
的用法示例。
在下文中一共展示了WSGIServer.server_close方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from django.core.servers.basehttp import WSGIServer [as 别名]
# 或者: from django.core.servers.basehttp.WSGIServer import server_close [as 别名]
def run(self):
try:
handler = AdminMediaHandler(WSGIHandler())
server_address = (config.HOST, config.PORT)
httpd = WSGIServer(server_address, SilentWSGIRequestHandler)
httpd.set_app(handler)
while self.running.isSet():
httpd.handle_request()
httpd.server_close()
except WSGIServerException, e:
pass
示例2: LiveServerThread
# 需要导入模块: from django.core.servers.basehttp import WSGIServer [as 别名]
# 或者: from django.core.servers.basehttp.WSGIServer import server_close [as 别名]
class LiveServerThread(threading.Thread):
"""
Thread for running a live http server while the tests are running.
"""
def __init__(self, host, possible_ports, static_handler, connections_override=None):
self.host = host
self.port = None
self.possible_ports = possible_ports
self.is_ready = threading.Event()
self.error = None
self.static_handler = static_handler
self.connections_override = connections_override
super(LiveServerThread, self).__init__()
def run(self):
"""
Sets up the live server and databases, and then loops over handling
http requests.
"""
if self.connections_override:
# Override this thread's database connections with the ones
# provided by the main thread.
for alias, conn in self.connections_override.items():
connections[alias] = conn
try:
# Create the handler for serving static and media files
handler = self.static_handler(_MediaFilesHandler(WSGIHandler()))
# Go through the list of possible ports, hoping that we can find
# one that is free to use for the WSGI server.
for index, port in enumerate(self.possible_ports):
try:
self.httpd = WSGIServer(
(self.host, port), QuietWSGIRequestHandler)
except socket.error as e:
if (index + 1 < len(self.possible_ports) and
e.errno == errno.EADDRINUSE):
# This port is already in use, so we go on and try with
# the next one in the list.
continue
else:
# Either none of the given ports are free or the error
# is something else than "Address already in use". So
# we let that error bubble up to the main thread.
raise
else:
# A free port was found.
self.port = port
break
self.httpd.set_app(handler)
self.is_ready.set()
self.httpd.serve_forever()
except Exception as e:
self.error = e
self.is_ready.set()
def terminate(self):
if hasattr(self, 'httpd'):
# Stop the WSGI server
self.httpd.shutdown()
self.httpd.server_close()