"""
Returns True if this job is running
"""
- return self.started_at and not self.finished_at
+ return self.started_at and not self.finished_at and not self.aborted_at
def has_finished(self):
+ # Jobs can be marked as finished
if self.finished_at:
return True
+ # Jobs can be marked as aborted, too
+ elif self.aborted_at:
+ return True
+
return False
def has_failed(self):
"""
Aborts the job
"""
+ # Mark as finished
+ self._set_attribute_now("finished_at")
+
# Mark as aborted
- self._set_attribute_now("aborted_at")
+ self._set_attribute("aborted", True)
if user:
self._set_attribute("aborted_by", user)
"""
Returns True if this job has been aborted
"""
- if self.aborted_at:
- return True
-
- return False
+ return self.data.aborted
@property
def aborted_at(self):
- return self.data.aborted_at
+ if self.is_aborted():
+ return self.data.finished_at
@lazy_property
def aborted_by(self):
log_digest_blake2s bytea,
deleted_at timestamp without time zone,
deleted_by integer,
- aborted_at timestamp without time zone,
+ aborted boolean DEFAULT false NOT NULL,
aborted_by integer
);