mirror of https://github.com/jumpserver/jumpserver
perf: Optimize summary calculation
parent
9771d3c817
commit
b6a5854fa2
|
@ -37,6 +37,7 @@ class JobLogSerializer(JobExecutionSerializer):
|
||||||
class JobsAuditSerializer(JobSerializer):
|
class JobsAuditSerializer(JobSerializer):
|
||||||
material = serializers.ReadOnlyField(label=_("Command"))
|
material = serializers.ReadOnlyField(label=_("Command"))
|
||||||
summary = serializers.ReadOnlyField(label=_("Summary"))
|
summary = serializers.ReadOnlyField(label=_("Summary"))
|
||||||
|
crontab = serializers.ReadOnlyField(label=_("Execution cycle"))
|
||||||
|
|
||||||
class Meta(JobSerializer.Meta):
|
class Meta(JobSerializer.Meta):
|
||||||
read_only_fields = [
|
read_only_fields = [
|
||||||
|
|
|
@ -181,13 +181,9 @@ class Job(JMSOrgBaseModel, PeriodTaskModelMixin):
|
||||||
@property
|
@property
|
||||||
def summary(self):
|
def summary(self):
|
||||||
summary = {
|
summary = {
|
||||||
"total": 0,
|
"total": self.executions.count(),
|
||||||
"success": 0,
|
"success": self.executions.filter(status=JobStatus.success).count(),
|
||||||
}
|
}
|
||||||
for execution in self.executions.all():
|
|
||||||
summary["total"] += 1
|
|
||||||
if execution.is_success:
|
|
||||||
summary["success"] += 1
|
|
||||||
return summary
|
return summary
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
Loading…
Reference in New Issue