You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by wi...@apache.org on 2014/07/02 20:06:09 UTC
git commit: Fix TaskObserver for json endpoint usage.
Repository: incubator-aurora
Updated Branches:
refs/heads/master b58418ef4 -> 84ee1571d
Fix TaskObserver for json endpoint usage.
Testing Done:
The `/j/task?task_id=id1,id2,...` endpoint now works.
Reviewed at https://reviews.apache.org/r/23211/
Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/84ee1571
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/84ee1571
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/84ee1571
Branch: refs/heads/master
Commit: 84ee1571dd8a1110f3d0d74c39b917651ca13bc3
Parents: b58418e
Author: Kevin Burg <kb...@gmail.com>
Authored: Wed Jul 2 11:04:03 2014 -0700
Committer: Brian Wickman <wi...@apache.org>
Committed: Wed Jul 2 11:04:03 2014 -0700
----------------------------------------------------------------------
.../python/apache/thermos/observer/http/json.py | 4 ++--
.../apache/thermos/observer/task_observer.py | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/84ee1571/src/main/python/apache/thermos/observer/http/json.py
----------------------------------------------------------------------
diff --git a/src/main/python/apache/thermos/observer/http/json.py b/src/main/python/apache/thermos/observer/http/json.py
index b81232c..4ba5324 100644
--- a/src/main/python/apache/thermos/observer/http/json.py
+++ b/src/main/python/apache/thermos/observer/http/json.py
@@ -45,11 +45,11 @@ class TaskObserverJSONBindings(object):
task_ids = HttpServer.Request.GET.get('task_id', [])
if task_ids:
task_ids = urllib.unquote(task_ids).split(',')
- return self._observer.task(task_ids)
+ return self._observer.tasks(task_ids)
@HttpServer.route("/j/task/:task_id")
def handle_task(self, task_id):
- return self._observer.task([task_id])
+ return self._observer.tasks([task_id])
@HttpServer.route("/j/process/:task_id")
@HttpServer.route("/j/process/:task_id/:process")
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/84ee1571/src/main/python/apache/thermos/observer/task_observer.py
----------------------------------------------------------------------
diff --git a/src/main/python/apache/thermos/observer/task_observer.py b/src/main/python/apache/thermos/observer/task_observer.py
index b2114db..cd528dc 100644
--- a/src/main/python/apache/thermos/observer/task_observer.py
+++ b/src/main/python/apache/thermos/observer/task_observer.py
@@ -364,6 +364,26 @@ class TaskObserver(ExceptionalThread, Lockable):
for st in state.statuses]
@Lockable.sync
+ def tasks(self, task_ids):
+ """
+ Return information about an iterable of tasks [task_id1, task_id2, ...]
+ in the following form.
+
+ {
+ task_id1 : self._task(task_id1),
+ task_id2 : self._task(task_id2),
+ ...
+ }
+ """
+ res = {}
+ for task_id in task_ids:
+ d = self._task(task_id)
+ task_struct = d.pop('task_struct')
+ d['task'] = task_struct.get()
+ res[task_id] = d
+ return res
+
+ @Lockable.sync
def _task(self, task_id):
"""
Return composite information about a particular task task_id, given the below