优化计划任务的添加修改,升级后可能会出现任务描述为空的情况,可以将任务ID复制填写进去

This commit is contained in:
ngfchl
2022-11-24 19:18:27 +08:00
parent b128ef85a9
commit 4a8d7eb826
4 changed files with 100 additions and 17 deletions

View File

@@ -27,7 +27,7 @@ class TaskAdmin(admin.ModelAdmin): # instead of ModelAdmin
)
# list_display_links = None
search_fields = ('name',)
readonly_fields = ('name',)
readonly_fields = ('name', 'desc')
def get_queryset(self, request):
# print(self.kwargs['username'])
@@ -45,8 +45,8 @@ class TaskAdmin(admin.ModelAdmin): # instead of ModelAdmin
return False
# 禁止修改按钮
# def has_change_permission(self, request, obj=None):
# return False
def has_change_permission(self, request, obj=None):
return False
@admin.register(TaskJob)
@@ -68,16 +68,15 @@ class TaskJobAdmin(admin.ModelAdmin): # instead of ModelAdmin
def save_model(self, request, obj: TaskJob, form, change):
# 从字符串获取function
func = getattr(tasks, obj.task.name)
# 检查任务是否存在,存在删除任务
# 检查任务是否存在,存在且job_id和任务名称不一致删除任务
exist_job = scheduler.get_job(obj.job_id)
if exist_job and obj.job_id != obj.name:
exist_job.remove()
exist_job = None
obj.job_id = obj.name
logger.info('当前任务:{} | {}'.format(obj.job_id, exist_job))
try:
if not obj.task_exec:
logger.info(obj.job_id + '任务未开启!')
super().save_model(request, obj, form, change)
# else:
# 添加任务
if obj.trigger == Trigger.cron:
if exist_job:
logger.info(obj.job_id + '任务已存在,修改中!')