diff --git a/src/SJZY.Track.Application/Services/TimerTaskss/TrackPullTask.cs b/src/SJZY.Track.Application/Services/TimerTaskss/TrackPullTask.cs index 460bd655..6bd0edb1 100644 --- a/src/SJZY.Track.Application/Services/TimerTaskss/TrackPullTask.cs +++ b/src/SJZY.Track.Application/Services/TimerTaskss/TrackPullTask.cs @@ -22,6 +22,13 @@ namespace SJZY.Track.Application.Services.TimerTaskss; [ApiExplorerSettings(GroupName = "定时任务")] public class TrackPullTask : ApplicationService, ISingletonDependency { + private readonly IServiceScopeFactory _serviceScopeFactory; + + public TrackPullTask(IServiceScopeFactory serviceScopeFactory) + { + _serviceScopeFactory = serviceScopeFactory; + } + /// /// 定时任务刷新轨迹 /// @@ -30,7 +37,7 @@ public class TrackPullTask : ApplicationService, ISingletonDependency [HttpPost("/TimerTask/Refresh")] public async Task RefreshForTaskAsync() { - using var serviceScope = LazyServiceProvider.CreateScope(); + using var serviceScope = _serviceScopeFactory.CreateScope(); var provideQueries = serviceScope.ServiceProvider.GetRequiredService(); var configs = await provideQueries.GetAllPullConfigsAsync(); diff --git a/src/SJZY.Track.Application/Services/TimerTaskss/TrackPushTask.cs b/src/SJZY.Track.Application/Services/TimerTaskss/TrackPushTask.cs index 928b54e9..47f150de 100644 --- a/src/SJZY.Track.Application/Services/TimerTaskss/TrackPushTask.cs +++ b/src/SJZY.Track.Application/Services/TimerTaskss/TrackPushTask.cs @@ -13,6 +13,13 @@ namespace SJZY.Track.Application.Services.TimerTaskss; [ApiExplorerSettings(GroupName = "定时任务")] public class TrackPushTask : ApplicationService { + private readonly IServiceScopeFactory _serviceScopeFactory; + + public TrackPushTask(IServiceScopeFactory serviceScopeFactory) + { + _serviceScopeFactory = serviceScopeFactory; + } + /// /// 定时任务推送预警(》12小时没有推送的) /// @@ -21,7 +28,7 @@ public class TrackPushTask : ApplicationService [HttpPost("/TimerTask/PushWarn")] public async Task PushWarnForTaskAsync() { - using var serviceScope = LazyServiceProvider.CreateScope(); + using var serviceScope = _serviceScopeFactory.CreateScope(); var configs = serviceScope.ServiceProvider.GetRequiredService>() .Value; diff --git a/src/SJZY.Track.Application/Services/TimerTaskss/TrackWarningTask.cs b/src/SJZY.Track.Application/Services/TimerTaskss/TrackWarningTask.cs index 655f2995..7696262d 100644 --- a/src/SJZY.Track.Application/Services/TimerTaskss/TrackWarningTask.cs +++ b/src/SJZY.Track.Application/Services/TimerTaskss/TrackWarningTask.cs @@ -16,11 +16,14 @@ public class TrackWarningTask : ApplicationService { private readonly IOptionsSnapshot _options; private readonly IOrderRepository _orderRepository; + private readonly IServiceScopeFactory _serviceScopeFactory; - public TrackWarningTask(IOrderRepository orderRepository, IOptionsSnapshot options) + public TrackWarningTask(IOrderRepository orderRepository, IOptionsSnapshot options, + IServiceScopeFactory serviceScopeFactory) { _orderRepository = orderRepository; _options = options; + _serviceScopeFactory = serviceScopeFactory; } /// @@ -63,7 +66,7 @@ public class TrackWarningTask : ApplicationService { try { - using var serviceScope = LazyServiceProvider.CreateScope(); + using var serviceScope = _serviceScopeFactory.CreateScope(); var forewarningNotifyService = serviceScope.ServiceProvider.GetRequiredService();