using Furion.Schedule; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Logging; namespace WCS.Application; /// /// PLC作业任务 /// [JobDetail("job_plc", Description = "PLC作业任务", GroupName = "default", Concurrent = false)] [Daily(TriggerId = "trigger_plc", Description = "PLC作业任务")] public class PLCJob : IJob { private readonly IServiceScopeFactory _scopeFactory; private readonly ILogger _logger; public PLCJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory) { _scopeFactory = scopeFactory; _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName); } public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken) { //using var serviceScope = _scopeFactory.CreateScope(); //var rep = serviceScope.ServiceProvider.GetRequiredService>(); //await rep.CopyNew().AsDeleteable().ExecuteCommandAsync(stoppingToken); PLCTaskAction.Init(); //string msg = $"【{DateTime.Now}】PLC服务启动..."; //var originColor = Console.ForegroundColor; //Console.ForegroundColor = ConsoleColor.Red; //Console.WriteLine(msg); //Console.ForegroundColor = originColor; //// 自定义日志 //_logger.LogInformation(msg); } }