public static async Task AddJob_(this IScheduler manager, Type job_type, ITrigger trigger, string name, string group = null) { job_type.Should().NotBeNull(); trigger.Should().NotBeNull(); name.Should().NotBeNullOrEmpty(); var builder = JobBuilder.Create(job_type); builder = builder.WithIdentity(name, group ?? "default"); var job = builder.Build(); //job key的特征其实就是name和group //new JobKey(name: "", group: ""); var exist_jobs = await manager.GetAllJobKeys_(); if (!exist_jobs.Contains(job.Key)) { await manager.ScheduleJob(job, trigger); } }