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();