|
|
@ -152,8 +152,7 @@ class Job(object):
|
|
|
|
|
|
|
|
|
|
|
|
def set_status(self, status, pipeline=None):
|
|
|
|
def set_status(self, status, pipeline=None):
|
|
|
|
self._status = status
|
|
|
|
self._status = status
|
|
|
|
connection = pipeline if pipeline is not None else self.connection
|
|
|
|
self.hset_value('status', self._status, pipeline)
|
|
|
|
connection.hset(self.key, 'status', self._status)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _set_status(self, status):
|
|
|
|
def _set_status(self, status):
|
|
|
|
warnings.warn(
|
|
|
|
warnings.warn(
|
|
|
@ -164,6 +163,14 @@ class Job(object):
|
|
|
|
|
|
|
|
|
|
|
|
status = property(_get_status, _set_status)
|
|
|
|
status = property(_get_status, _set_status)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def set_started_at_now(self, pipeline=None):
|
|
|
|
|
|
|
|
now_fmt = utcformat(utcnow())
|
|
|
|
|
|
|
|
self.hset_value('started_at', now_fmt, pipeline)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def hset_value(self, key, value, pipeline=None):
|
|
|
|
|
|
|
|
connection = pipeline if pipeline is not None else self.connection
|
|
|
|
|
|
|
|
connection.hset(self.key, key, value)
|
|
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
@property
|
|
|
|
def is_finished(self):
|
|
|
|
def is_finished(self):
|
|
|
|
return self.get_status() == JobStatus.FINISHED
|
|
|
|
return self.get_status() == JobStatus.FINISHED
|
|
|
@ -306,6 +313,7 @@ class Job(object):
|
|
|
|
self.description = None
|
|
|
|
self.description = None
|
|
|
|
self.origin = None
|
|
|
|
self.origin = None
|
|
|
|
self.enqueued_at = None
|
|
|
|
self.enqueued_at = None
|
|
|
|
|
|
|
|
self.started_at = None
|
|
|
|
self.ended_at = None
|
|
|
|
self.ended_at = None
|
|
|
|
self._result = None
|
|
|
|
self._result = None
|
|
|
|
self.exc_info = None
|
|
|
|
self.exc_info = None
|
|
|
@ -410,6 +418,7 @@ class Job(object):
|
|
|
|
self.origin = as_text(obj.get('origin'))
|
|
|
|
self.origin = as_text(obj.get('origin'))
|
|
|
|
self.description = as_text(obj.get('description'))
|
|
|
|
self.description = as_text(obj.get('description'))
|
|
|
|
self.enqueued_at = to_date(as_text(obj.get('enqueued_at')))
|
|
|
|
self.enqueued_at = to_date(as_text(obj.get('enqueued_at')))
|
|
|
|
|
|
|
|
self.started_at = to_date(as_text(obj.get('started_at')))
|
|
|
|
self.ended_at = to_date(as_text(obj.get('ended_at')))
|
|
|
|
self.ended_at = to_date(as_text(obj.get('ended_at')))
|
|
|
|
self._result = unpickle(obj.get('result')) if obj.get('result') else None # noqa
|
|
|
|
self._result = unpickle(obj.get('result')) if obj.get('result') else None # noqa
|
|
|
|
self.exc_info = obj.get('exc_info')
|
|
|
|
self.exc_info = obj.get('exc_info')
|
|
|
@ -432,6 +441,8 @@ class Job(object):
|
|
|
|
obj['description'] = self.description
|
|
|
|
obj['description'] = self.description
|
|
|
|
if self.enqueued_at is not None:
|
|
|
|
if self.enqueued_at is not None:
|
|
|
|
obj['enqueued_at'] = utcformat(self.enqueued_at)
|
|
|
|
obj['enqueued_at'] = utcformat(self.enqueued_at)
|
|
|
|
|
|
|
|
if self.started_at is not None:
|
|
|
|
|
|
|
|
obj['started_at'] = utcformat(self.started_at)
|
|
|
|
if self.ended_at is not None:
|
|
|
|
if self.ended_at is not None:
|
|
|
|
obj['ended_at'] = utcformat(self.ended_at)
|
|
|
|
obj['ended_at'] = utcformat(self.ended_at)
|
|
|
|
if self._result is not None:
|
|
|
|
if self._result is not None:
|
|
|
|