You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2014/04/05 02:05:13 UTC
[27/50] [abbrv] git commit: code cleanup.
code cleanup.
Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/96ab5016
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/96ab5016
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/96ab5016
Branch: refs/heads/mansu/job_page
Commit: 96ab5016449a3616ac695252e99081a1041ae73d
Parents: d1d65e2
Author: Suman Karumuri <sk...@twitter.com>
Authored: Sun Mar 30 00:13:34 2014 -0700
Committer: Suman Karumuri <sk...@twitter.com>
Committed: Sun Mar 30 00:17:28 2014 -0700
----------------------------------------------------------------------
.../aurora/scheduler/http/ui/js/controllers.js | 64 ++++++++++----------
1 file changed, 32 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/96ab5016/src/main/resources/org/apache/aurora/scheduler/http/ui/js/controllers.js
----------------------------------------------------------------------
diff --git a/src/main/resources/org/apache/aurora/scheduler/http/ui/js/controllers.js b/src/main/resources/org/apache/aurora/scheduler/http/ui/js/controllers.js
index 3cda549..506375c 100644
--- a/src/main/resources/org/apache/aurora/scheduler/http/ui/js/controllers.js
+++ b/src/main/resources/org/apache/aurora/scheduler/http/ui/js/controllers.js
@@ -341,35 +341,9 @@ auroraUIControllers.controller('JobController',
$scope.taskSummary = summarizeActiveTaskConfigs(response.tasks);
console.log($scope.taskSummary);
- var tasks = _.chain(response.tasks)
- .map(function (task) {
- var isActive = isActiveTask(task);
-
- // TODO: Clean this logic.
-
- var sortedTaskEvents = _.sortBy(task.taskEvents, function (taskEvent) {
- return taskEvent.timestamp;
- });
-
- var lastTransition = _.isEmpty(sortedTaskEvents) ? _.last(sortedTaskEvents).timestamp : 0;
-
- var runningTaskEvent = sortedTaskEvents.length === 0 ? undefined : getRunningTaskEvent(task);
-
- return {
- instanceId: task.assignedTask.instanceId,
- status: _.invert(ScheduleStatus)[task.status],
- host: task.assignedTask.slaveHost || '',
- latestActivity: lastTransition,
- duration: isActive || _.isUndefined(runningTaskEvent)
- ? 0
- : lastTransition - runningTaskEvent.timestamp,
- isActive: isActive,
- taskId: task.assignedTask.taskId,
- taskEvents: toTaskEvents(sortedTaskEvents),
- showDetails: false
- };
- })
- .value();
+ var tasks = _.map(response.tasks, function (task) {
+ return summarizeTask(task);
+ });
var activeTaskPredicate = function (task) {
return task.isActive;
@@ -390,21 +364,47 @@ auroraUIControllers.controller('JobController',
.value();
}
+ function summarizeTask(task) {
+ var isActive = isActiveTask(task);
+ var sortedTaskEvents = _.sortBy(task.taskEvents, function (taskEvent) {
+ return taskEvent.timestamp;
+ });
+ var lastTransitionAt = _.isEmpty(sortedTaskEvents) ? 0 : _.last(sortedTaskEvents).timestamp;
+
+ return {
+ instanceId: task.assignedTask.instanceId,
+ status: _.invert(ScheduleStatus)[task.status],
+ host: task.assignedTask.slaveHost || '',
+ latestActivity: lastTransitionAt,
+ duration: getDuration(sortedTaskEvents, isActive),
+ isActive: isActive,
+ taskId: task.assignedTask.taskId,
+ taskEvents: summarizeTaskEvents(sortedTaskEvents),
+ showDetails: false
+ };
+ }
+
function isActiveTask(task) {
return _.contains(ACTIVE_STATES, task.status);
}
- function getRunningTaskEvent(task) {
- return _.find(task.taskEvents, function (taskEvent) {
+ function getDuration(sortedTaskEvents, isActive) {
+ if (!isActive || _.isEmpty(sortedTaskEvents)) {
+ return 0;
+ }
+
+ var runningTaskEvent = _.find(sortedTaskEvents, function (taskEvent) {
return taskEvent.status === ScheduleStatus['RUNNING'];
});
+
+ return runningTaskEvent ? _.last(sortedTaskEvents).timestamp - runningTaskEvent.timestamp : 0;
}
function fromNow(date, dropSuffix) {
return moment(date).fromNow(dropSuffix);
}
- function toTaskEvents(taskEvents) {
+ function summarizeTaskEvents(taskEvents) {
return _.map(taskEvents, function (taskEvent) {
return {
date: moment(taskEvent.timestamp).format('MM DD h:mm:ss z'),