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
parent
commit
ee9115dc6d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 9
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Application/LINGYUN/Abp/TaskManagement/BackgroundJobInfoAppService.cs
  2. 1
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/en.json
  3. 1
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/zh-Hans.json
  4. 12
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/TaskManagementErrorCodes.cs

9
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Application/LINGYUN/Abp/TaskManagement/BackgroundJobInfoAppService.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);

1
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/en.json

@ -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",

1
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/zh-Hans.json

@ -17,6 +17,7 @@
"Permissions:DeleteJobLogs": "删除作业日志",
"TaskManagement:01000": "分组 {Group} 中已经存在一个名称为 {Name} 的作业!",
"TaskManagement:01001": "队列没有找到分组 {Group} 中名称为 {Name} 的作业, 请先将作业入队!",
"TaskManagement:01002": "即将删除的作业中包含未停止作业,请先停止作业运行后再次尝试删除作业!",
"DisplayName:IsEnabled": "是否启用",
"DisplayName:Group": "分组",
"DisplayName:Name": "名称",

12
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/TaskManagementErrorCodes.cs

@ -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";
}
}

Loading…
Cancel
Save