1
huangxiaoqiang
2025-12-18 9753fb2756f6b4e30ff79d901a7bb86145517c8b
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs
@@ -10,11 +10,14 @@
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;
@@ -24,8 +27,11 @@
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 static Quartz.Logging.OperationName;
var builder = WebApplication.CreateBuilder(args);
@@ -49,7 +55,7 @@
    .WriteTo.File( // é…ç½®è¾“出到文件
        path: "logs/log-.txt", // æ—¥å¿—文件路径,会自动创建 logs æ–‡ä»¶å¤¹
        rollingInterval: RollingInterval.Day, // æŒ‰å¤©æ»šåŠ¨æ—¥å¿—æ–‡ä»¶
        retainedFileCountLimit: 7, // æœ€å¤šä¿ç•™7天的日志
        retainedFileCountLimit: 365, // æœ€å¤šä¿ç•™7天的日志
        outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
    )
    .CreateLogger();
@@ -149,14 +155,16 @@
    client.BaseAddress = new Uri(erpurl!);
    client.Timeout = TimeSpan.FromSeconds(30);
})  ;
});
builder.Services.AddSingleton<IJobFactory, JobFactory>();
builder.Services.AddTransient<AgvTaskJob>();//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
@@ -171,14 +179,13 @@
        .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();//启动配置