예제 #1
0
        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);
            }
        }