From c51aaf0a95836b83bb4c209556cfddaf42ea3314 Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期四, 06 三月 2025 10:09:49 +0800 Subject: [PATCH] 优化缓存使用和定时器设置 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs index 61f1f85..3a75882 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs @@ -1,6 +1,7 @@ 锘縰sing Masuit.Tools; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using WIDESEA_Cache; using WIDESEA_Core.Const; using WIDESEA_DTO.WMS; using WIDESEA_IServices; @@ -17,10 +18,11 @@ private readonly IDt_StationManagerRepository _stationManagerRepository; private readonly ISys_ConfigService _configService; private readonly ILocationInfoRepository _locationRepository; + private readonly ISimpleCacheService _simpleCacheService; private Timer _timer; - public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService) + public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService, ISimpleCacheService simpleCacheService) { _logger = logger; _locationRepository = locationRepository; @@ -29,11 +31,12 @@ _taskRepository = taskRepository; _stationManagerRepository = stationManagerRepository; _configService = configService; + _simpleCacheService = simpleCacheService; } public Task StartAsync(CancellationToken cancellationToken) { - _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(10)); + _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(20)); return Task.CompletedTask; } @@ -44,10 +47,12 @@ var area = _areaInfoRepository.QueryFirst(x => x.AreaCode == "GWSC1"); if (area == null) { return; } - var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>() - .Includes(x => x.LocationInfo) // 棰勫姞杞絃ocationInfo - .Includes(x => x.StockInfoDetails) // 棰勫姞杞絊tockInfoDetails - .Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // 杩囨护鏉′欢 + + IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo); + List<DtStockInfo> stockInfoList = stockInfos.Values.ToList(); + + + var stockInfo = stockInfoList.Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // 杩囨护鏉′欢 .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // 杩囨护鏉′欢 .OrderBy(x => x.OutboundTime) // 鎺掑簭 .ToList(); // 鑾峰彇绗竴涓厓绱� -- Gitblit v1.9.3