Пример #1
0
def _reverse_url(name, *, domain_id, **kwargs):
    if domain_id != builtin.DOMAIN_ID_SYSTEM:
        name += '_with_domain_id'
        kwargs['domain_id'] = domain_id
    if kwargs:
        return app.Application().router[name].url(parts=kwargs)
    else:
        return app.Application().router[name].url()
Пример #2
0
def _reverse_url(name, *, domain_id, **kwargs):
    """DEPRECATED: This function is deprecated. But we don't have a replacement yet."""
    kwargs = {key: str(value) for key, value in kwargs.items()}
    if domain_id != builtin.DOMAIN_ID_SYSTEM:
        name += '_with_domain_id'
        kwargs['domain_id'] = domain_id
    if kwargs:
        return str(app.Application().router[name].url_for(**kwargs))
    else:
        return str(app.Application().router[name].url_for())
Пример #3
0
def main():
  if not options.syslog:
    coloredlogs.install(level=logging.DEBUG if options.debug else logging.INFO,
                        fmt='[%(levelname).1s %(asctime)s %(module)s:%(lineno)d] %(message)s',
                        datefmt='%y%m%d %H:%M:%S')
  else:
    syslog.enable_system_logging(level=logging.DEBUG if options.debug else logging.INFO,
                                 fmt='vj4[%(process)d] %(programname)s %(levelname).1s %(message)s')
  logging.getLogger('sockjs').setLevel(logging.WARNING)
  url = urllib.parse.urlparse(options.listen)
  if url.scheme == 'http':
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    host, port_str = url.netloc.rsplit(':', 1)
    sock.bind((host, int(port_str)))
  elif url.scheme == 'unix':
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    try:
      os.remove(url.path)
    except FileNotFoundError:
      pass
    sock.bind(url.path)
  else:
    _logger.error('Invalid listening scheme %s', url.scheme)
    return 1
  for i in range(1, options.prefork):
    pid = os.fork()
    if not pid:
      break
    else:
      atexit.register(lambda: os.kill(pid, signal.SIGTERM))
  web.run_app(app.Application(), sock=sock, access_log=None, shutdown_timeout=0)
Пример #4
0
def main():
    options.parse_command_line()
    _logger.info('Server listening on %s', options.options.listen)
    url = urllib.parse.urlparse(options.options.listen)
    if url.scheme == 'http':
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
        host, port_str = url.netloc.rsplit(':', 1)
        sock.bind((host, int(port_str)))
    elif url.scheme == 'unix':
        sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        try:
            os.remove(url.path)
        except FileNotFoundError:
            pass
        sock.bind(url.path)
    else:
        _logger.error('Invalid listening scheme %s', url.scheme)
        return 1
    for i in range(1, options.options.prefork):
        pid = os.fork()
        if not pid:
            break
        else:
            atexit.register(lambda: os.kill(pid, signal.SIGTERM))
    loop = asyncio.get_event_loop()
    loop.run_until_complete(
        loop.create_server(app.Application().make_handler(), sock=sock))
    loop.run_forever()
Пример #5
0
def main():
    logging.config.dictConfig({
        'version': 1,
        'handlers': {
            'console': {
                'class': 'logging.StreamHandler',
                'formatter': 'colored',
            },
        },
        'formatters': {
            'colored': {
                '()': 'colorlog.ColoredFormatter',
                'format': options.log_format,
                'datefmt': '%y%m%d %H:%M:%S'
            }
        },
        'root': {
            'level': 'DEBUG' if options.debug else 'INFO',
            'handlers': ['console'],
        },
        'disable_existing_loggers': False,
    })
    url = urllib.parse.urlparse(options.listen)
    if url.scheme == 'http':
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
        host, port_str = url.netloc.rsplit(':', 1)
        sock.bind((host, int(port_str)))
    elif url.scheme == 'unix':
        sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        try:
            os.remove(url.path)
        except FileNotFoundError:
            pass
        sock.bind(url.path)
    else:
        _logger.error('Invalid listening scheme %s', url.scheme)
        return 1
    for i in range(1, options.prefork):
        pid = os.fork()
        if not pid:
            break
        else:
            atexit.register(lambda: os.kill(pid, signal.SIGTERM))
    loop = asyncio.get_event_loop()
    loop.run_until_complete(
        loop.create_server(app.Application().make_handler(access_log=None,
                                                          lingering_time=0.0),
                           sock=sock))
    _logger.info('Server listening on %s', options.listen)
    loop.run_forever()