bool operator == (const TaskStatus& left, const TaskStatus& right) { return left.task_id() == right.task_id() && left.state() == right.state() && left.data() == right.data() && left.message() == right.message() && left.slave_id() == right.slave_id() && left.timestamp() == right.timestamp() && left.executor_id() == right.executor_id() && left.healthy() == right.healthy() && left.source() == right.source() && left.reason() == right.reason() && left.uuid() == right.uuid(); }
Option<bool> getTaskHealth(const Task& task) { Option<bool> healthy = None(); if (task.statuses_size() > 0) { // The statuses list only keeps the most recent TaskStatus for // each state, and appends later states at the end. Thus the last // status is either a terminal state (where health is // irrelevant), or the latest RUNNING status. TaskStatus lastStatus = task.statuses(task.statuses_size() - 1); if (lastStatus.has_healthy()) { healthy = lastStatus.healthy(); } } return healthy; }