Example #1
0
def start_server(root_path=ROOT_PATH, port=PORT):
    dev_appserver.SetupStubs(get_appid(),
                             login_url=LOGIN_URL,
                             datastore_path='/dev/null',
                             history_path='/dev/null',
                             blobstore_path='/dev/null',
                             clear_datastore=False)
    server = dev_appserver.CreateServer(ROOT_PATH, LOGIN_URL, port,
                                        '/unused/templates/path')

    server_thread = threading.Thread(target=server.serve_forever)
    server_thread.setDaemon(True)
    server_thread.start()
    return port
def start_server(root_path=ROOT_PATH, port=PORT, app_id=APP_ID):
    dev_appserver.ApplicationLoggingHandler.InitializeTemplates(
        'HEADER', 'SCRIPT', 'MIDDLE', 'FOOTER')
    dev_appserver.SetupStubs(app_id,
                             login_url=LOGIN_URL,
                             datastore_path='/dev/null',
                             history_path='/dev/null',
                             clear_datastore=False)
    server = dev_appserver.CreateServer(ROOT_PATH, LOGIN_URL, port,
                                        '/unused/templates/path')

    server_thread = threading.Thread(target=server.serve_forever)
    server_thread.setDaemon(True)
    server_thread.start()
    return port
Example #3
0
    def run(self):
        """
        Sets up the live server and databases, and then loops over handling
        http requests.
        """
        if self.connections_override:
            from django.db import connections
            # 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 = StaticFilesHandler(_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:
                    options = dev_appserver_main.DEFAULT_ARGS.copy()
                    self.httpd = dev_appserver.CreateServer(
                        ".", '/_ah/login', port, default_partition="dev")

                except Exception, e:
                    if sys.version_info < (2, 6):
                        error_code = e.args[0].args[0]
                    else:
                        error_code = e.args[0].errno
                    if (index + 1 < len(self.possible_ports)
                            and error_code == 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()
Example #4
0
  except:
    exc_type, exc_value, exc_traceback = sys.exc_info()
    logging.error(str(exc_type) + ': ' + str(exc_value))
    logging.debug(''.join(traceback.format_exception(
          exc_type, exc_value, exc_traceback)))
    return 1

  frontend_port=option_dict.get(ARG_MULTIPROCESS_FRONTEND_PORT, None)
  if frontend_port is not None:
    frontend_port = int(frontend_port)
  http_server = dev_appserver.CreateServer(
      root_path,
      login_url,
      port,
      sdk_dir=SDK_PATH,
      serve_address=address,
      allow_skipped_files=allow_skipped_files,
      static_caching=static_caching,
      default_partition=default_partition,
      frontend_port=frontend_port,
      interactive_console=interactive_console)

  signal.signal(signal.SIGTERM, SigTermHandler)

  dev_process.PrintStartMessage(appinfo.application, address, port)

  if dev_process.IsInstance():
    logging.getLogger().setLevel(logging.INFO)

  try:
    try:
        logging.error(str(exc_type) + ': ' + str(exc_value))
        logging.debug(''.join(
            traceback.format_exception(exc_type, exc_value, exc_traceback)))
        return 1

    frontend_port = option_dict.get(ARG_MULTIPROCESS_FRONTEND_PORT, None)
    if frontend_port is not None:
        frontend_port = int(frontend_port)

    http_server = dev_appserver.CreateServer(
        root_path,
        login_url,
        port,
        sdk_dir=SDK_PATH,
        serve_address=address,
        allow_skipped_files=allow_skipped_files,
        static_caching=static_caching,
        default_partition=default_partition,
        frontend_port= None,
        interactive_console=interactive_console,
        secret_hash = hashlib.sha1(appinfo.application + '/' + \
          option_dict['COOKIE_SECRET']).hexdigest())

    signal.signal(signal.SIGTERM, SigTermHandler)

    os.environ['APPNAME'] = appinfo.application
    dev_appserver.DEFAULT_ENV["APPNAME"] = appinfo.application

    dev_process.PrintStartMessage(appinfo.application, address, port)

    if dev_process.IsInstance():
Example #6
0
    logging.getLogger().setLevel(logging.WARNING)

  try:
    dev_appserver.SetupStubs(appinfo.application, **option_dict)
  except:
    exc_type, exc_value, exc_traceback = sys.exc_info()
    logging.error(str(exc_type) + ': ' + str(exc_value))
    logging.debug(''.join(traceback.format_exception(
          exc_type, exc_value, exc_traceback)))
    return 1

  http_server = dev_appserver.CreateServer(
      root_path,
      login_url,
      port,
      sdk_dir=SDK_PATH,
      serve_address=address,
      allow_skipped_files=allow_skipped_files,
      static_caching=static_caching,
      default_partition=default_partition,
      persist_logs=persist_logs)

  signal.signal(signal.SIGTERM, SigTermHandler)

  dev_process.PrintStartMessage(appinfo.application, address, port)

  if dev_process.IsInstance():
    logging.getLogger().setLevel(logging.INFO)

  try:
    try:
      http_server.serve_forever()
Example #7
0
    try:
        dev_appserver.SetupStubs(appinfo.application, **option_dict)
    except:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        logging.error(str(exc_type) + ': ' + str(exc_value))
        logging.debug(''.join(
            traceback.format_exception(exc_type, exc_value, exc_traceback)))
        return 1

    http_server = dev_appserver.CreateServer(
        root_path,
        login_url,
        port,
        template_dir,
        sdk_dir=SDK_PATH,
        serve_address=address,
        require_indexes=require_indexes,
        allow_skipped_files=allow_skipped_files,
        static_caching=static_caching,
        default_partition=default_partition)

    signal.signal(signal.SIGTERM, SigTermHandler)

    dev_process.PrintStartMessage(appinfo.application, address, port)

    if dev_process.IsInstance():
        logging.getLogger().setLevel(logging.INFO)

    try:
        try:
Example #8
0
        update_check.CheckSupportedVersion()
        if update_check.AllowedToCheckForUpdates():
            update_check.CheckForUpdates()

    try:
        dev_appserver.SetupStubs(config.application, **option_dict)
    except:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        logging.error(str(exc_type) + ': ' + str(exc_value))
        logging.debug(''.join(
            traceback.format_exception(exc_type, exc_value, exc_traceback)))
        return 1

    http_server = dev_appserver.CreateServer(root_path,
                                             login_url,
                                             port,
                                             template_dir,
                                             serve_address=serve_address,
                                             require_indexes=require_indexes)

    logging.info('Running application %s on port %d: http://%s:%d',
                 config.application, port, serve_address, port)
    try:
        try:
            http_server.serve_forever()
        except KeyboardInterrupt:
            logging.info('Server interrupted by user, terminating')
        except:
            exc_info = sys.exc_info()
            info_string = '\n'.join(traceback.format_exception(*exc_info))
            logging.error('Error encountered:\n%s\nNow terminating.',
                          info_string)
Example #9
0
    try:
        dev_appserver.SetupStubs(appinfo.application, **option_dict)
    except:
        exc_type, exc_value, exc_traceback = sys.exc_info()
        logging.error(str(exc_type) + ': ' + str(exc_value))
        logging.debug(''.join(
            traceback.format_exception(exc_type, exc_value, exc_traceback)))
        return 1

    http_server = dev_appserver.CreateServer(
        root_path,
        login_url,
        port,
        sdk_dir=SDK_PATH,
        serve_address=address,
        require_indexes=require_indexes,
        allow_skipped_files=allow_skipped_files,
        static_caching=static_caching,
        default_partition=default_partition,
        persist_logs=persist_logs,
        secret_hash=hashlib.sha1(appinfo.application + '/' +
                                 option_dict['COOKIE_SECRET']).hexdigest())

    signal.signal(signal.SIGTERM, SigTermHandler)
    os.environ['APPNAME'] = appinfo.application
    dev_process.PrintStartMessage(appinfo.application, address, port)

    if dev_process.IsInstance():
        logging.getLogger().setLevel(logging.INFO)

    try: