Browse Source
Merge pull request #1399 from colinin/check-deleting-job-status
feat(tasks): Delete the job status check
dev
yx lin
1 week ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with
21 additions and
2 deletions
-
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Application/LINGYUN/Abp/TaskManagement/BackgroundJobInfoAppService.cs
-
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/en.json
-
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/zh-Hans.json
-
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/TaskManagementErrorCodes.cs
|
|
|
@ -114,6 +114,11 @@ public class BackgroundJobInfoAppService : DynamicQueryableAppService<Background |
|
|
|
{ |
|
|
|
var backgroundJobInfo = await BackgroundJobInfoRepository.GetAsync(id); |
|
|
|
|
|
|
|
if (backgroundJobInfo.Status != JobStatus.Stopped) |
|
|
|
{ |
|
|
|
throw new BusinessException(TaskManagementErrorCodes.OnlyDeletionOfStopJobsIsAllowed); |
|
|
|
} |
|
|
|
|
|
|
|
await CheckIfChangeSystemJob(backgroundJobInfo); |
|
|
|
|
|
|
|
await BackgroundJobManager.DeleteAsync(backgroundJobInfo); |
|
|
|
@ -232,6 +237,10 @@ public class BackgroundJobInfoAppService : DynamicQueryableAppService<Background |
|
|
|
} |
|
|
|
var jobs = await GetListAsync(input); |
|
|
|
|
|
|
|
if (jobs.Any(job => job.Status != JobStatus.Stopped)) |
|
|
|
{ |
|
|
|
throw new BusinessException(TaskManagementErrorCodes.OnlyDeletionOfStopJobsIsAllowed); |
|
|
|
} |
|
|
|
if (jobs.Any(job => job.Source == JobSource.System)) |
|
|
|
{ |
|
|
|
await AuthorizationService.CheckAsync(TaskManagementPermissions.BackgroundJobs.ManageSystemJobs); |
|
|
|
|
|
|
|
@ -17,6 +17,7 @@ |
|
|
|
"Permissions:DeleteJobLogs": "Delete Job Logs", |
|
|
|
"TaskManagement:01000": "A job named {Name} already exists in the Group {Group}!", |
|
|
|
"TaskManagement:01001": "The queue did not find the job named {Name} in Group {Group}. Please join the job first!", |
|
|
|
"TaskManagement:01002": "The job to be deleted contains an ongoing job. Please stop the job first and then try to delete it again!", |
|
|
|
"DisplayName:IsEnabled": "IsEnabled", |
|
|
|
"DisplayName:Group": "Group", |
|
|
|
"DisplayName:Name": "Name", |
|
|
|
|
|
|
|
@ -17,6 +17,7 @@ |
|
|
|
"Permissions:DeleteJobLogs": "删除作业日志", |
|
|
|
"TaskManagement:01000": "分组 {Group} 中已经存在一个名称为 {Name} 的作业!", |
|
|
|
"TaskManagement:01001": "队列没有找到分组 {Group} 中名称为 {Name} 的作业, 请先将作业入队!", |
|
|
|
"TaskManagement:01002": "即将删除的作业中包含未停止作业,请先停止作业运行后再次尝试删除作业!", |
|
|
|
"DisplayName:IsEnabled": "是否启用", |
|
|
|
"DisplayName:Group": "分组", |
|
|
|
"DisplayName:Name": "名称", |
|
|
|
|
|
|
|
@ -3,9 +3,17 @@ |
|
|
|
public static class TaskManagementErrorCodes |
|
|
|
{ |
|
|
|
public const string Namespace = "TaskManagement"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 分组 {Group} 中已经存在一个名称为 {Name} 的作业!
|
|
|
|
/// </summary>
|
|
|
|
public const string JobNameAlreadyExists = Namespace + ":01000"; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 队列没有找到分组 {Group} 中名称为 {Name} 的作业, 请先将作业入队!
|
|
|
|
/// </summary>
|
|
|
|
public const string JobNotFoundInQueue = Namespace + ":01001"; |
|
|
|
/// <summary>
|
|
|
|
/// 仅允许删除已停止作业
|
|
|
|
/// </summary>
|
|
|
|
public const string OnlyDeletionOfStopJobsIsAllowed = Namespace + ":01002"; |
|
|
|
} |
|
|
|
} |
|
|
|
|