Ejemplo n.º 1
0
  def _enforce_instance_details(self):
    """ Ensures all running instances are configured correctly. """
    with (yield self._work_lock.acquire()):
      # Restart instances with an outdated revision or login server.
      for instance in self._running_instances:
        try:
          version = self._projects_manager.version_from_key(instance.version_key)
        except KeyError:
          # If the version no longer exists, avoid doing any work. The
          # scheduler should remove any assignments for it.
          continue

        login_server_changed = (
          self._login_server is not None and
          self._login_server != get_login_server(instance))
        if (instance.revision_key != version.revision_key or
            login_server_changed):
          logger.info('Configuration changed for {}'.format(instance))
          yield self._stop_app_instance(instance)
          yield self._start_instance(version, instance.port)
Ejemplo n.º 2
0
  def _enforce_instance_details(self):
    """ Ensures all running instances are configured correctly. """
    with (yield self._work_lock.acquire()):
      # Restart instances with an outdated revision or login server.
      for instance in self._running_instances:
        try:
          version = self._projects_manager.version_from_key(instance.version_key)
        except KeyError:
          # If the version no longer exists, avoid doing any work. The
          # scheduler should remove any assignments for it.
          continue

        login_server_changed = (
          self._login_server is not None and
          self._login_server != get_login_server(instance))
        if (instance.revision_key != version.revision_key or
            login_server_changed):
          logger.info('Configuration changed for {}'.format(instance))
          yield self._stop_app_instance(instance)
          yield self._start_instance(version, instance.port)