def main(): gevent.signal(signal.SIGQUIT, gevent.shutdown) global port global address if port and type(port) is str: port = int(port) if not address: address = "127.0.0.1" try: server = WSGIServer((address, port), app) if serverType is "fastcgi": print ("Now serving py as a fastcgi server at %s:%i" % (address, port)) else: print ("Now serving py at %s:%i" % (address, port)) print "Press Ctrl+c or send SIGQUIT to stop" print "\r\nHeres some fancy URLs also:\n\r" print " Url : Class Name" print " -------------------------" for url in urls: print (" %s : %s" % (url['url'], url["object"].__name__)) if serverType is "fastcgi": print "\r\n\r\nNo logging of requests done here." print "Check your server logs instead." else: print "\r\n\r\nNow logging requests:" print " Remote IP - - [YYYY-MM-DD HH:MM:SS] \"METHOD url HTTP/version\" Status code Something Request timing" print "------------------------------------------------------------------------------------------------------" server.serve_forever() except KeyboardInterrupt: gevent.shutdown
def handle(self, *args, **options): from os.path import abspath, dirname, isdir from gevent_fastcgi.server import WSGIServer from django.core.handlers.wsgi import WSGIHandler if not args: raise CommandError('bind address is not specified') if len(args) > 1: raise CommandError('unexpected arguments: %s', ' '.join(args[1:])) try: host, port = args[0].split(':', 1) except ValueError: address = abspath(args[0]) if not isdir(dirname(address)): raise CommandError('directory %s does not exist', dirname(address)) else: try: address = (host, int(port)) except ValueError: raise CommandError('port must be an integer value') if options['daemonize']: from django.utils.daemonize import become_daemon daemon_opts = dict((key, value) for key, value in options.items() if key in ('our_home_dir', 'out_log', 'err_log', 'umask')) become_daemon(**daemon_opts) app = WSGIHandler() server = WSGIServer(address, app, max_conns=options['max_conns'], max_reqs=options['max_reqs']) server.serve_forever()
class make_server_conn(object): def __init__(self, address=default_address, app=app, **server_params): self.address = address self.app = app self.server_params = server_params def __enter__(self): self.server = WSGIServer(self.address, self.app, **self.server_params) self.server.start() self.conn = make_connection(self.address) return self.conn.__enter__() def __exit__(self, exc_type, exc_value, traceback): try: self.conn.__exit__(exc_type, exc_value, traceback) finally: self.server.stop()
class make_server(object): """ Wrapper around server to ensure it's stopped """ def __init__(self, address=default_address, app=app, **kw): self.server = WSGIServer(address, app, **kw) self.server.start() def __enter__(self): return self.server def __exit__(self, exc_type, exc_value, traceback): self.server.stop() def __del__(self): if hasattr(self, 'server'): self.server.stop()
def __enter__(self): self.server = WSGIServer(self.address, self.app, **self.server_params) self.server.start() self.conn = make_connection(self.address) return self.conn.__enter__()
def __init__(self, address=default_address, app=app, **kw): self.server = WSGIServer(address, app, **kw) self.server.start()