You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.3 KiB

using log4net;
using log4net.Repository.Hierarchy;
using Microsoft.Extensions.Logging;
using Quartz;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using jiajie.Common.Helper;
using jiajie.Common.LogHelper;
using jiajie.Model.Entity;
using jiajie.Services.ReadPLC;
using jiajie.Services.Sys.OperateLogs;
using jiajie.Services.Sys.TasksQzs;
/// <summary>
/// 这里要注意下,命名空间和程序集是一样的,不然反射不到
/// </summary>
namespace jiajie.Tasks
{
public class Job_PLC_read_line3 : JobBase, IJob
{
public ILogger<Job_PLC_read_line3> _logger = null;
private readonly IPReadPLCService _readPlcDataService;
//private readonly IWebHostEnvironment _environment;
public Job_PLC_read_line3(
ILogger<Job_PLC_read_line3> logger,
IPReadPLCService readPlcDataService,
//IWebHostEnvironment environment,
ITasksQzServices tasksQzServices
)
{
_logger = logger;
_readPlcDataService = readPlcDataService;
//_environment = environment;
_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<EquipInput>(data["JobParam"].ToString());
await _readPlcDataService.ReadDataLine3(jobParam);
}
}
}