using Microsoft.Extensions.Logging; using Quartz; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using zzz.Common.Helper; using zzz.Services.ReadPLC; using zzz.Services.Sys.TasksQzs; namespace zzz.Tasks { public class Job_PLC_read_line7 : JobBase, IJob { public ILogger _logger = null; private readonly IReadPLCDataService _readPlcDataService; public Job_PLC_read_line7( ILogger logger, IReadPLCDataService readPlcDataService, ITasksQzServices tasksQzServices ) { _logger = logger; _readPlcDataService = readPlcDataService; _tasksQzServices = tasksQzServices; } public async Task Execute(IJobExecutionContext context) { var executeLog = await ExecuteJob(context, async () => await Run(context)); } public async Task Run(IJobExecutionContext context) { //var list = await _blogArticleServices.Query(); // 也可以通过数据库配置,获取传递过来的参数 //JobDataMap data = context.JobDetail.JobDataMap; //int jobId = data.GetInt("JobParam"); //ConsoleHelper.WriteColorLine("执行任务具体XXXXXXXXXXX", ConsoleColor.Red); // 可以直接获取 JobDetail 的值 var jobKey = context.JobDetail.Key; var jobId = jobKey.Name; // 也可以通过数据库配置,获取传递过来的参数 JobDataMap data = context.JobDetail.JobDataMap; _logger.LogInformation($"执行任务{jobKey}-{jobId}"); var jobParam = JsonHelper.JsonToObj(data["JobParam"].ToString()); await _readPlcDataService.ReadDataLine7(jobParam); } } }