diff options
| author | Tom Ritter <tom@ritter.vg> | 2017-02-01 14:19:03 -0600 |
|---|---|---|
| committer | Tom Ritter <tom@ritter.vg> | 2017-02-01 14:19:03 -0600 |
| commit | 8eae75fa67cd3febea1692f186fa179c9d5b19c4 (patch) | |
| tree | 1b6d1ca9851fb3a9605146c95eeefad253f74937 /jobstate.py | |
| parent | e25776aea113142769bdc95f1f56692eab78ac0e (diff) | |
Only notify on failures and successes after the number of failures required
Diffstat (limited to 'jobstate.py')
| -rw-r--r-- | jobstate.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/jobstate.py b/jobstate.py index ba4113f..a8e6542 100644 --- a/jobstate.py +++ b/jobstate.py @@ -11,14 +11,17 @@ class JobState: self.CurrentStateSuccess = True self.FirstFailureTime = 0 self.LastNotifyTime = 0 + self.NumFailures = 0 def markFailedAndNotify(self): if self.CurrentStateSuccess: self.CurrentStateSuccess = False self.FirstFailureTime = time.time() self.LastNotifyTime = self.FirstFailureTime + self.NumFailures = 1 else: self.LastNotifyTime = time.time() + self.NumFailures += 1 def markFailedNoNotify(self): if self.CurrentStateSuccess: @@ -26,8 +29,9 @@ class JobState: self.CurrentStateSuccess = False self.FirstFailureTime = time.time() self.LastNotifyTime = 0 + self.NumFailures = 1 else: - pass + self.NumFailures += 1 def markSuccessful(self): if self.CurrentStateSuccess: @@ -36,13 +40,15 @@ class JobState: self.CurrentStateSuccess = True self.FirstFailureTime = 0 self.LastNotifyTime = 0 + self.NumFailures = 0 def serialize(self): ret = self.name + "|" ret += "Succeeding" if self.CurrentStateSuccess else "Failing" ret += "|" + str(self.FirstFailureTime) ret += "|" + str(self.LastNotifyTime) + "|" - ret += self.friendlyname + "\n" + ret += self.friendlyname.replace("|", "#") #Why yes, this is ugly! + ret += "|" + str(self.NumFailures) + "\n" return ret @staticmethod @@ -56,7 +62,10 @@ class JobState: s.CurrentStateSuccess = True if parts[1] == "Succeeding" else False s.FirstFailureTime = float(parts[2]) s.LastNotifyTime = float(parts[3]) - s.friendlyname = parts[4] + s.friendlyname = parts[4].replace("#", "|") + + if len(parts) > 5: + s.NumFailures = int(parts[5]) return s |
