|
|
|
@ -118,26 +118,6 @@ class Task(PeriodTaskModelMixin, OrgModelMixin):
|
|
|
|
|
kwargs = {"callback": self.callback} |
|
|
|
|
return name, task, args, kwargs |
|
|
|
|
|
|
|
|
|
@lazyproperty |
|
|
|
|
def last_success(self): |
|
|
|
|
return self._last_adhocexecution(True, 'contacted') |
|
|
|
|
|
|
|
|
|
@lazyproperty |
|
|
|
|
def last_failure(self): |
|
|
|
|
return self._last_adhocexecution(False, 'dark') |
|
|
|
|
|
|
|
|
|
def _last_adhocexecution(self, is_success, key): |
|
|
|
|
obj = AdHocExecution.objects.filter(task_id=self.id, is_success=is_success).order_by('-date_finished').first() |
|
|
|
|
body = obj.summary and obj.summary.get(key) |
|
|
|
|
|
|
|
|
|
if body: |
|
|
|
|
asset, body = body.popitem() |
|
|
|
|
if body: |
|
|
|
|
action, body = body.popitem() |
|
|
|
|
return asset, action, (body or '') and body.get('msg', '') |
|
|
|
|
return asset, '', '' |
|
|
|
|
return '', '', '' |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return self.name + '@' + str(self.org_id) |
|
|
|
|
|
|
|
|
|