// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger <Startup> logger, DBSeed dBSeed, SchedulerCenterServer schedulerCenter) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // 添加全局监控(必须放在外层,否则不能返回) app.UseMiddleware <AutoUseMiddleware>(); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); _logger = logger; // 添加Swagger app.UseSwaggerMildd(); // 添加种子数据 app.UseSeedDataMildd(dBSeed); // 开启QuartzNetJob调度服务 app.UseQuartzJobMildd(logger, dBSeed, schedulerCenter); }
/// <summary> /// 开启QuartzNetJob调度服务 /// </summary> public async static void UseQuartzJobMildd(this IApplicationBuilder app, ILogger <Startup> logger, DBSeed dBSeed, SchedulerCenterServer schedulerCenter) { if (app == null) { throw new ArgumentNullException(nameof(app)); } var tasksQzs = dBSeed.GetTable <TasksQz>().Response?.Where(t => t.IsStart).ToList(); Console.WriteLine("启动任务数量:" + tasksQzs.Count); foreach (var item in tasksQzs) { var res = await schedulerCenter.AddScheduleJobAsync(item); string msg = res.Success ? "启动任务:" + item.Name : "启动任务失败:" + item.Name; Console.WriteLine(msg); logger.LogInformation(msg); } }
public TasksQzController(ILogger <TasksQzController> logger, TasksQzServices tasksQz, SchedulerCenterServer scheduler) { _logger = logger; _tasksQz = tasksQz; _scheduler = scheduler; }