コード例 #1
0
ファイル: http_observer.py プロジェクト: AltanAlpay/aurora
  def handle_process(self, task_id, process_id):
    all_processes = {}
    current_run = self._observer.process(task_id, process_id)
    if not current_run:
      HttpServer.abort(404, 'Invalid task/process combination: %s/%s' % (task_id, process_id))
    process = self._observer.process_from_name(task_id, process_id)
    if process is None:
      msg = 'Could not recover process: %s/%s' % (task_id, process_id)
      log.error(msg)
      HttpServer.abort(404, msg)

    current_run_number = current_run['process_run']
    all_processes[current_run_number] = current_run
    for run in range(current_run_number):
      all_processes[run] = self._observer.process(task_id, process_id, run)

    template = {
      'task_id': task_id,
      'process': {
         'name': process_id,
         'status': all_processes[current_run_number]["state"],
         'cmdline': process.cmdline().get()
      },
    }
    template['process'].update(**all_processes[current_run_number].get('used', {}))
    template['runs'] = all_processes
    log.debug('Rendering template is: %s' % template)
    return template
コード例 #2
0
    def handle_process(self, task_id, process_id):
        all_processes = {}
        current_run = self._observer.process(task_id, process_id)
        if not current_run:
            HttpServer.abort(
                404, 'Invalid task/process combination: %s/%s' %
                (task_id, process_id))
        process = self._observer.process_from_name(task_id, process_id)
        if process is None:
            msg = 'Could not recover process: %s/%s' % (task_id, process_id)
            log.error(msg)
            HttpServer.abort(404, msg)

        current_run_number = current_run['process_run']
        all_processes[current_run_number] = current_run
        for run in range(current_run_number):
            all_processes[run] = self._observer.process(
                task_id, process_id, run)

        template = {
            'task_id': task_id,
            'process': {
                'name': process_id,
                'status': all_processes[current_run_number]["state"],
                'cmdline': process.cmdline().get()
            },
        }
        template['process'].update(
            **all_processes[current_run_number].get('used', {}))
        template['runs'] = all_processes
        log.debug('Rendering template is: %s', template)
        return template
コード例 #3
0
ファイル: varz.py プロジェクト: CodeWarltz/commons
  def handle_vars(self, var=None):
    HttpServer.set_content_type('text/plain; charset=iso-8859-1')
    samples = self._monitor.sample()

    if var is None:
      return '\n'.join(
        '%s %s' % (key, val) for key, val in sorted(samples.items()))
    else:
      if var in samples:
        return samples[var]
      else:
        HttpServer.abort(404, 'Unknown exported variable')
コード例 #4
0
ファイル: varz.py プロジェクト: billwei/commons
  def handle_vars(self, var = None):
    samples = self._monitor.sample()

    if var is None:
      body='<br>'.join(
        '%s %s' % (key, val) for key, val in samples.iteritems())
      return '<html><body><pre>%s</pre></body></html>' % body
    else:
      if var in samples:
        return samples[var]
      else:
        HttpServer.abort(404, 'Unknown exported variable')
コード例 #5
0
ファイル: varz.py プロジェクト: xianxu/pants
    def handle_vars(self, var=None):
        HttpServer.set_content_type('text/plain; charset=iso-8859-1')
        samples = self._monitor.sample()

        if var is None:
            return '\n'.join('%s %s' % (key, val)
                             for key, val in sorted(samples.items()))
        else:
            if var in samples:
                return samples[var]
            else:
                HttpServer.abort(404, 'Unknown exported variable')
コード例 #6
0
    def handle_vars(self, var=None):
        samples = self._monitor.sample()

        if var is None:
            body = '<br>'.join('%s %s' % (key, val)
                               for key, val in samples.items())
            return '<html><body><pre>%s</pre></body></html>' % body
        else:
            if var in samples:
                return samples[var]
            else:
                HttpServer.abort(404, 'Unknown exported variable')
コード例 #7
0
ファイル: varz.py プロジェクト: wcauchois/commons-1
    def handle_vars(self, var=None):
        HttpServer.set_content_type('text/plain; charset=iso-8859-1')
        filtered = self._parse_filtered_arg()
        samples = self._monitor.sample()

        if var is None and filtered and self._stats_filter:
            return '\n'.join('%s %s' % (key, val)
                             for key, val in sorted(samples.items())
                             if not self._stats_filter.match(key))
        elif var is None:
            return '\n'.join('%s %s' % (key, val)
                             for key, val in sorted(samples.items()))
        else:
            if var in samples:
                return samples[var]
            else:
                HttpServer.abort(404, 'Unknown exported variable')
コード例 #8
0
ファイル: vars_endpoint.py プロジェクト: AltanAlpay/aurora
  def handle_vars(self, var=None):
    HttpServer.set_content_type('text/plain; charset=iso-8859-1')
    filtered = self._parse_filtered_arg()
    samples = self._monitor.sample()

    if var is None and filtered and self._stats_filter:
      return '\n'.join(
          '%s %s' % (key, val) for key, val in sorted(samples.items())
          if not self._stats_filter.match(key))
    elif var is None:
      return '\n'.join(
          '%s %s' % (key, val) for key, val in sorted(samples.items()))
    else:
      if var in samples:
        return samples[var]
      else:
        HttpServer.abort(404, 'Unknown exported variable')
コード例 #9
0
    def handle_task(self, task_id):
        task = self.get_task(task_id)
        processes = self._observer.processes([task_id])
        if not processes.get(task_id, None):
            HttpServer.abort(404, 'Unknown task_id: %s' % task_id)
        processes = processes[task_id]
        state = self._observer.state(task_id)

        return dict(
            task_id=task_id,
            task=task,
            statuses=self._observer.task_statuses(task_id),
            user=task['user'],
            ports=task['ports'],
            processes=processes,
            chroot=state.get('sandbox', ''),
            launch_time=state.get('launch_time', 0),
            hostname=state.get('hostname', 'localhost'),
        )
コード例 #10
0
  def handle_task(self, task_id):
    task = self.get_task(task_id)
    processes = self._observer.processes([task_id])
    if not processes.get(task_id, None):
      HttpServer.abort(404, 'Unknown task_id: %s' % task_id)
    processes = processes[task_id]
    state = self._observer.state(task_id)

    return dict(
      task_id = task_id,
      task = task,
      statuses = self._observer.task_statuses(task_id),
      user = task['user'],
      ports = task['ports'],
      processes = processes,
      chroot = state.get('sandbox', ''),
      launch_time = state.get('launch_time', 0),
      hostname = state.get('hostname', 'localhost'),
    )
コード例 #11
0
    def handle_task(self, task_id):
        task = self.get_task(task_id)
        processes = self._observer.processes([task_id])
        if not processes.get(task_id, None):
            HttpServer.abort(404, "Unknown task_id: %s" % task_id)
        processes = processes[task_id]
        state = self._observer.state(task_id)

        return dict(
            task_id=task_id,
            task=task,
            statuses=self._observer.task_statuses(task_id),
            user=task["user"],
            ports=task["ports"],
            processes=processes,
            chroot=state.get("sandbox", ""),
            launch_time=state.get("launch_time", 0),
            hostname=state.get("hostname", "localhost"),
        )
コード例 #12
0
    def handle_process(self, task_id, process_id):
        all_processes = {}
        current_run = self._observer.process(task_id, process_id)
        if not current_run:
            HttpServer.abort(
                404, 'Invalid task/process combination: %s/%s' %
                (task_id, process_id))
        process = self._observer.process_from_name(task_id, process_id)
        if process is None:
            msg = 'Could not recover process: %s/%s' % (task_id, process_id)
            log.error(msg)
            HttpServer.abort(404, msg)

        current_run_number = current_run['process_run']
        all_processes[current_run_number] = current_run
        for run in range(current_run_number):
            all_processes[run] = self._observer.process(
                task_id, process_id, run)

        def convert_process_tuple(run_tuple):
            process_tuple = dict(state=run_tuple['state'])
            if 'start_time' in run_tuple:
                process_tuple.update(start_time=run_tuple['start_time'])
            if 'stop_time' in run_tuple:
                process_tuple.update(stop_time=run_tuple['stop_time'])
            return process_tuple

        template = {
            'task_id': task_id,
            'process': {
                'name': process_id,
                'status': all_processes[current_run_number]["state"],
                'cmdline': process.cmdline().get()
            },
        }
        template['process'].update(
            **all_processes[current_run_number].get('used', {}))
        template['runs'] = dict((run, convert_process_tuple(run_tuple))
                                for run, run_tuple in all_processes.items())
        log.info('Rendering template is: %s' % template)
        return template
コード例 #13
0
  def handle_process(self, task_id, process_id):
    all_processes = {}
    current_run = self._observer.process(task_id, process_id)
    if not current_run:
      HttpServer.abort(404, 'Invalid task/process combination: %s/%s' % (task_id, process_id))
    process = self._observer.process_from_name(task_id, process_id)
    if process is None:
      msg = 'Could not recover process: %s/%s' % (task_id, process_id)
      log.error(msg)
      HttpServer.abort(404, msg)

    current_run_number = current_run['process_run']
    all_processes[current_run_number] = current_run
    for run in range(current_run_number):
      all_processes[run] = self._observer.process(task_id, process_id, run)
    def convert_process_tuple(run_tuple):
      process_tuple = dict(state = run_tuple['state'])
      if 'start_time' in run_tuple:
        process_tuple.update(start_time = run_tuple['start_time'])
      if 'stop_time' in run_tuple:
        process_tuple.update(stop_time = run_tuple['stop_time'])
      return process_tuple

    template = {
      'task_id': task_id,
      'process': {
         'name': process_id,
         'status': all_processes[current_run_number]["state"],
         'cmdline': process.cmdline().get()
      },
    }
    template['process'].update(**all_processes[current_run_number].get('used', {}))
    template['runs'] = dict((run, convert_process_tuple(run_tuple))
        for run, run_tuple in all_processes.items())
    log.info('Rendering template is: %s' % template)
    return template
コード例 #14
0
    def handle_process(self, task_id, process_id):
        all_processes = {}
        current_run = self._observer.process(task_id, process_id)
        if not current_run:
            HttpServer.abort(404, "Invalid task/process combination: %s/%s" % (task_id, process_id))
        process = self._observer.process_from_name(task_id, process_id)
        if process is None:
            msg = "Could not recover process: %s/%s" % (task_id, process_id)
            log.error(msg)
            HttpServer.abort(404, msg)

        current_run_number = current_run["process_run"]
        all_processes[current_run_number] = current_run
        for run in range(current_run_number):
            all_processes[run] = self._observer.process(task_id, process_id, run)

        def convert_process_tuple(run_tuple):
            process_tuple = dict(state=run_tuple["state"])
            if "start_time" in run_tuple:
                process_tuple.update(start_time=run_tuple["start_time"])
            if "stop_time" in run_tuple:
                process_tuple.update(stop_time=run_tuple["stop_time"])
            return process_tuple

        template = {
            "task_id": task_id,
            "process": {
                "name": process_id,
                "status": all_processes[current_run_number]["state"],
                "cmdline": process.cmdline().get(),
            },
        }
        template["process"].update(**all_processes[current_run_number].get("used", {}))
        template["runs"] = dict((run, convert_process_tuple(run_tuple)) for run, run_tuple in all_processes.items())
        log.info("Rendering template is: %s" % template)
        return template
コード例 #15
0
 def handle_main(self, type=None, offset=None, num=None):
     if type not in (None, 'all', 'finished', 'active'):
         HttpServer.abort(404, 'Invalid task type: %s' % type)
     if offset is not None:
         try:
             offset = int(offset)
         except ValueError:
             HttpServer.abort(404, 'Invalid offset: %s' % offset)
     if num is not None:
         try:
             num = int(num)
         except ValueError:
             HttpServer.abort(404, 'Invalid count: %s' % num)
     return self._observer.main(type, offset, num)
コード例 #16
0
 def handle_main(self, type=None, offset=None, num=None):
   if type not in (None, 'all', 'finished', 'active'):
     HttpServer.abort(404, 'Invalid task type: %s' % type)
   if offset is not None:
     try:
       offset = int(offset)
     except ValueError:
       HttpServer.abort(404, 'Invalid offset: %s' % offset)
   if num is not None:
     try:
       num = int(num)
     except ValueError:
       HttpServer.abort(404, 'Invalid count: %s' % num)
   return self._observer.main(type, offset, num)
コード例 #17
0
 def get_task(self, task_id):
     task = self._observer._task(task_id)
     if not task:
         HttpServer.abort(
             404, "Failed to find task %s.  Try again shortly." % task_id)
     return task
コード例 #18
0
 def get_task(self, task_id):
   task = self._observer._task(task_id)
   if not task:
     HttpServer.abort(404, "Failed to find task %s.  Try again shortly." % task_id)
   return task