| | |
| | | /// 作业调度服务启动时 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public async Task<IEnumerable<SchedulerBuilder>> PreloadAsync(CancellationToken stoppingToken) // Furion 4.9.1.59 之前为 public IEnumerable<SchedulerBuilder> Preload() |
| | | public Task<IEnumerable<SchedulerBuilder>> PreloadAsync(CancellationToken stoppingToken) |
| | | { |
| | | var schedulers = new List<SchedulerBuilder>(); |
| | | var jobDetails = await repScheduleJobDetail.AsQueryable().AsNoTracking().ToListAsync(); |
| | | var jobTriggers = await repScheduleJobTrigger.AsQueryable().AsNoTracking().ToListAsync(); |
| | | foreach (var jobDetail in jobDetails) |
| | | { |
| | | var triggers = jobTriggers.Where(it => it.JobId == jobDetail.JobId) |
| | | .Select(it => TriggerBuilder.From(it.ToJson())) |
| | | .ToArray(); |
| | | var jobBuilder = JobBuilder.From(jobDetail.ToJson()); |
| | | var scheduler = SchedulerBuilder.Create(jobBuilder, triggers); |
| | | schedulers.Add(scheduler); |
| | | } |
| | | return schedulers; |
| | | return Task.FromResult(App.EffectiveTypes.ScanToBuilders().AsEnumerable()); |
| | | } |
| | | |
| | | public Task<SchedulerBuilder> OnLoadingAsync(SchedulerBuilder builder, CancellationToken stoppingToken) |