| | |
| | | using System.Net.Security; |
| | | using System.Reflection; |
| | | using System.Runtime.ConstrainedExecution; |
| | | using System.Text; |
| | | using Autofac; |
| | | using Autofac.Core; |
| | | using Autofac.Extensions.DependencyInjection; |
| | |
| | | using Newtonsoft.Json.Converters; |
| | | using Newtonsoft.Json.Serialization; |
| | | using Quartz; |
| | | using Quartz.Impl; |
| | | using Quartz.Spi; |
| | | using Serilog; |
| | | using System.Net.Security; |
| | | using System.Reflection; |
| | | using System.Runtime.ConstrainedExecution; |
| | | using System.Text; |
| | | using WIDESEA.QuartzJob; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.Authorization; |
| | | using WIDESEA_Core.BaseServices; |
| | |
| | | using WIDESEA_Core.Helper; |
| | | //using WIDESEA_Core.HostedService; |
| | | using WIDESEA_Core.Middlewares; |
| | | using WIDESEA_DTO.Quartz; |
| | | using WIDESEA_WMSServer; |
| | | using WIDESEA_WMSServer.Filter; |
| | | using WIDESEA_WMSServer.Jobs; |
| | | using WIDESEAWCS_Core.LogHelper; |
| | | |
| | | var builder = WebApplication.CreateBuilder(args); |
| | | |
| | |
| | | // .WriteTo.Console() |
| | | // .WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day) |
| | | // .CreateLogger(); |
| | | |
| | | AppDomain.CurrentDomain.FirstChanceException += (sender, e) => |
| | | { |
| | | bool flag = e.Exception.TargetSite?.DeclaringType?.Namespace?.StartsWith("WIDESEA") == true; |
| | | |
| | | if (e.Exception is not OperationCanceledException && flag) |
| | | { |
| | | string folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"Log\\Exception"); |
| | | Exception ex = e.Exception; |
| | | StringBuilder builder = new StringBuilder(); |
| | | builder.Append("é误信æ¯ï¼"); |
| | | builder.Append(ex.Message); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append("é误æºï¼"); |
| | | builder.Append(ex.Source); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append("éè¯¯å æ ï¼"); |
| | | builder.Append(ex.StackTrace); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append("é误类åï¼"); |
| | | builder.Append(ex.GetType().ToString()); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append("éè¯¯æ¹æ³ï¼"); |
| | | builder.Append(ex.TargetSite?.ToString()); |
| | | builder.Append(Environment.NewLine); |
| | | builder.Append(Environment.NewLine); |
| | | |
| | | LoggerHelper.WriteError(e.Exception, folderPath); |
| | | } |
| | | }; |
| | | |
| | | Log.Logger = new LoggerConfiguration() |
| | | .MinimumLevel.Information() // 设置å
¨å±æä½æ¥å¿çº§å«ä¸º Information |
| | |
| | | client.BaseAddress = new Uri(erpurl!); |
| | | client.Timeout = TimeSpan.FromSeconds(30); |
| | | |
| | | }) ; |
| | | |
| | | }); |
| | | builder.Services.AddSingleton<IJobFactory, JobFactory>(); |
| | | builder.Services.AddTransient<AgvTaskJob>();//Job使ç¨ç¬æ¶ä¾èµæ³¨å
¥ |
| | | builder.Services.AddTransient<InventoryLockJob>();//Job使ç¨ç¬æ¶ä¾èµæ³¨å
¥ |
| | | builder.Services.AddSingleton<ISchedulerCenter, SchedulerCenterServer>(); |
| | | |
| | | builder.Services.AddQuartz(q => |
| | | { |
| | | |
| | | var jobKey = new JobKey("ErpJob"); |
| | | q.AddJob<ErpJob>(opts => opts.WithIdentity(jobKey)); |
| | | |
| | | |
| | | // æ·»å 触åå¨ - æ¯å¤©10:00, 14:00, 20:00æ§è¡ |
| | | q.AddTrigger(opts => opts |
| | |
| | | .WithIdentity("ErpJob-trigger") |
| | | .WithCronSchedule("0 0 10,14,20 * * ?")); |
| | | |
| | | var inventoryLockJobKey = new JobKey("InventoryLockJob"); |
| | | q.AddJob<InventoryLockJob>(opts => opts.WithIdentity(inventoryLockJobKey)); |
| | | //var inventoryLockJobKey = new JobKey("InventoryLockJob"); |
| | | //q.AddJob<InventoryLockJob>(opts => opts.WithIdentity(inventoryLockJobKey)); |
| | | |
| | | q.AddTrigger(opts => opts |
| | | .ForJob(inventoryLockJobKey) |
| | | .WithIdentity("InventoryLockJob-trigger") |
| | | .WithCronSchedule("0 0/10 * * * ?")); // æ¯10åéæ§è¡ä¸æ¬¡ |
| | | |
| | | //q.AddTrigger(opts => opts |
| | | // .ForJob(inventoryLockJobKey) |
| | | // .WithIdentity("InventoryLockJob-trigger") |
| | | // .WithCronSchedule("0 0/10 * * * ?")); // æ¯10åéæ§è¡ä¸æ¬¡ |
| | | }); |
| | | |
| | | |
| | | builder.Services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true); |
| | | var app = builder.Build(); |
| | | |
| | | |
| | | app.UseQuartzJobMildd(); |
| | | |
| | | app.UseMiniProfiler();//æ§è½åæå¨ |
| | | app.ConfigureApplication();//é
ç½®æä»¶ |
| | | app.UseApplicationSetup();//å¯å¨é
ç½® |