Prettier Task admin

This commit is contained in:
Oracle 2025-03-25 13:21:33 +01:00
parent f149b19606
commit 21dc3f034e

View File

@ -39,7 +39,7 @@ class WorkerAdmin( BaseModelAdmin ):
@admin.register( Task )
class TaskAdmin( BaseModelAdmin ):
order = 1
list_display = 'name', 'timeout', 'gracetime', 'jitter', 'type', 'worker_type', 'logged_executions', 'last_execution', 'scheduled'
list_display = 'name', 'timeout', 'gracetime', 'jitter', 'type', 'worker_type', 'logged', 'last_execution', 'scheduled'
fields = ["name", "description", "type", "on_model_change", "jitter", "self_aware"]
actions = 'schedule_execution', 'execution_now', 'delete_script_missing'
@ -80,12 +80,16 @@ class TaskAdmin( BaseModelAdmin ):
try: return ", ".join( f"{m.__module__}.{m.__name__}" for m in obj.registered_tasks[obj.name].watching_models )
except: return "N/A"
def logged_executions( self, obj ):
return obj.trace_set.exclude( status = "S" ).count()
def logged( self, obj ):
count = obj.trace_set.exclude( status = "S" ).count()
if count == 1: return "1 trace"
return f"{count} traces"
def last_execution( self, obj ):
last_trace = obj.trace_set.exclude( status = "S" ).exclude( last_run_datetime = None ).order_by('last_run_datetime').last()
return humanize.naturaltime( last_trace.last_run_datetime ) if last_trace else "Never"
if not last_trace: return "Never"
return "Ongoing..." if last_trace.status == "R" else humanize.naturaltime( last_trace.last_run_datetime )
def scheduled( self, obj ):
return obj.trace_set.filter( status = "S" ).exists()