using Infrastructure; using Infrastructure.Attribute; using Quartz; using Quartz.Impl; using Quartz.Impl.Triggers; using System.Threading.Tasks; using ZR.Service.System.IService; namespace ZR.Tasks.TaskScheduler { [AppService(ServiceType = typeof(Job_HttpRequest), ServiceLifetime = LifeTime.Scoped)] internal class Job_HttpRequest : JobBase, IJob { private readonly ISysTasksQzService tasksQzService; public Job_HttpRequest(ISysTasksQzService tasksQzService) { this.tasksQzService = tasksQzService; } public async Task Execute(IJobExecutionContext context) { await ExecuteJob(context, async () => await Run(context)); } public async Task Run(IJobExecutionContext context) { AbstractTrigger trigger = (context as JobExecutionContextImpl).Trigger as AbstractTrigger; var info = await tasksQzService.GetByIdAsync(trigger.Name); var result = await HttpHelper.HttpPostAsync("http://" + info.ApiUrl, info.JobParams); //Console.WriteLine(result); } } }