clean:清理原本地异步模式的预警计算代码
This commit is contained in:
parent
24d08cbc84
commit
857b695d0e
@ -2,22 +2,10 @@ using SJZY.Expand.ABP.Core.Configuration;
|
|||||||
using SJZY.Expand.ABP.Core.Configuration.AutoRegistOptions;
|
using SJZY.Expand.ABP.Core.Configuration.AutoRegistOptions;
|
||||||
using SJZY.Expand.ABP.Core.Logger;
|
using SJZY.Expand.ABP.Core.Logger;
|
||||||
using SJZY.Track.Api;
|
using SJZY.Track.Api;
|
||||||
using SJZY.Track.Application;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
_BUGOptions.EnablePref = true;
|
|
||||||
if (args.Length > 0)
|
|
||||||
{
|
|
||||||
_BUGOptions.EnablePref = "on".Equals(args[0]);
|
|
||||||
Console.WriteLine($"是否启动优化模式:{_BUGOptions.EnablePref}");
|
|
||||||
if (_BUGOptions.EnablePref)
|
|
||||||
{
|
|
||||||
var loadSuccess = Confluent.Kafka.Library.Load(null);
|
|
||||||
Console.WriteLine($"加载{loadSuccess},版本号:{Confluent.Kafka.Library.VersionString}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
builder
|
builder
|
||||||
.AddConfigurationContainer()
|
.AddConfigurationContainer()
|
||||||
.AddOptionsFromConfiguration()
|
.AddOptionsFromConfiguration()
|
||||||
|
|||||||
@ -6,7 +6,6 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
|||||||
using SJZY.Track.Application.Contract.Events;
|
using SJZY.Track.Application.Contract.Events;
|
||||||
using SJZY.Track.Application.Contract.Services;
|
using SJZY.Track.Application.Contract.Services;
|
||||||
using SJZY.Track.Application.Kafka;
|
using SJZY.Track.Application.Kafka;
|
||||||
using SJZY.Track.Application.Services.Warning.Handlers;
|
|
||||||
using SJZY.Track.Application.Services.Warning.Signals;
|
using SJZY.Track.Application.Services.Warning.Signals;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||||
@ -25,8 +24,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
private readonly IProvideQueries _provideQueries;
|
private readonly IProvideQueries _provideQueries;
|
||||||
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
||||||
private readonly IBroadcastingService _broadcastingService;
|
private readonly IBroadcastingService _broadcastingService;
|
||||||
// private readonly WarningSignalPublisher _warningSignalPublisher;
|
private readonly WarningSignalPublisher _warningSignalPublisher;
|
||||||
private readonly IServiceProvider _serviceProvider;
|
|
||||||
|
|
||||||
public TrackDeleteEventHandler(
|
public TrackDeleteEventHandler(
|
||||||
IProvideQueries provideQueries,
|
IProvideQueries provideQueries,
|
||||||
@ -35,8 +33,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
ITrackDetailsEsRepository trackDetailsEsRepository,
|
ITrackDetailsEsRepository trackDetailsEsRepository,
|
||||||
IOrderOperationRecordEsRepository orderOperationRecordEsRepository,
|
IOrderOperationRecordEsRepository orderOperationRecordEsRepository,
|
||||||
IBroadcastingService broadcastingService,
|
IBroadcastingService broadcastingService,
|
||||||
IServiceProvider serviceProvider
|
WarningSignalPublisher warningSignalPublisher
|
||||||
//WarningSignalPublisher warningSignalPublisher
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_provideQueries = provideQueries;
|
_provideQueries = provideQueries;
|
||||||
@ -45,8 +42,7 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
_trackDetailsEsRepository = trackDetailsEsRepository;
|
_trackDetailsEsRepository = trackDetailsEsRepository;
|
||||||
_orderOperationRecordEsRepository = orderOperationRecordEsRepository;
|
_orderOperationRecordEsRepository = orderOperationRecordEsRepository;
|
||||||
_broadcastingService = broadcastingService;
|
_broadcastingService = broadcastingService;
|
||||||
_serviceProvider = serviceProvider;
|
_warningSignalPublisher = warningSignalPublisher;
|
||||||
//_warningSignalPublisher = warningSignalPublisher;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[CapSubscribe(GlobalConst.TrackDeleteSubscribe, Group = GlobalConst.TrackDeleteSubscribe)]
|
[CapSubscribe(GlobalConst.TrackDeleteSubscribe, Group = GlobalConst.TrackDeleteSubscribe)]
|
||||||
@ -368,43 +364,8 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void WarningCalc_DeletedTrack(List<TrackDetailsIndex> delTracks)
|
private void WarningCalc_DeletedTrack(List<TrackDetailsIndex> delTracks)
|
||||||
{
|
{
|
||||||
if (_BUGOptions.EnablePref)
|
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹删除, delTracks);
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateScope();
|
|
||||||
var _warningSignalPublisher = scope.ServiceProvider.GetRequiredService<WarningSignalPublisher>();
|
|
||||||
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹删除, delTracks);
|
|
||||||
scope.Dispose();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//_warningSignalPublisher.PublishWarningSignal(WarningSignalType.轨迹删除, delTracks);
|
|
||||||
var signals = WarningSignal.FromTrack(delTracks, WarningSignalType.轨迹删除);
|
|
||||||
|
|
||||||
_ = Task.Run(async () =>
|
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateAsyncScope();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var handler = scope.ServiceProvider.GetRequiredService<ICompleteWarningHandler>();
|
|
||||||
var handler2 = scope.ServiceProvider.GetRequiredService<ITransportWarningHandler>();
|
|
||||||
var handler3 = scope.ServiceProvider.GetRequiredService<IReturnWarningHandler>();
|
|
||||||
|
|
||||||
await Task.Delay(1500); //确保落盘
|
|
||||||
await handler.TrackDeletedHandleAsync(signals);
|
|
||||||
await handler2.TrackDeletedHandleAsync(signals);
|
|
||||||
await handler3.TrackUpdatedOrDeletedHandleAsync(signals);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
LogHelper.Error(ex);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
await scope.DisposeAsync();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,6 @@ using SJZY.OTel;
|
|||||||
using SJZY.Track.Application.Contract.Events;
|
using SJZY.Track.Application.Contract.Events;
|
||||||
using SJZY.Track.Application.Contract.Services;
|
using SJZY.Track.Application.Contract.Services;
|
||||||
using SJZY.Track.Application.Kafka;
|
using SJZY.Track.Application.Kafka;
|
||||||
using SJZY.Track.Application.Services.Warning.Handlers;
|
|
||||||
using SJZY.Track.Application.Services.Warning.Signals;
|
using SJZY.Track.Application.Services.Warning.Signals;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||||
@ -26,11 +25,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
private readonly ITrackDetailsEsRepository _trackDetailsEsRepository;
|
||||||
private readonly IBroadcastingService _broadcastingService;
|
private readonly IBroadcastingService _broadcastingService;
|
||||||
private readonly ILogger<TrackUpsertEventHandler> _logger;
|
private readonly ILogger<TrackUpsertEventHandler> _logger;
|
||||||
|
|
||||||
private readonly IOrderOperationRecordEsRepository _orderOperationRecordEsRepository;
|
private readonly IOrderOperationRecordEsRepository _orderOperationRecordEsRepository;
|
||||||
|
private readonly WarningSignalPublisher _warningSignalPublisher;
|
||||||
//private readonly WarningSignalPublisher _warningSignalPublisher;
|
|
||||||
private readonly IServiceProvider _serviceProvider;
|
|
||||||
|
|
||||||
public TrackUpsertEventHandler(
|
public TrackUpsertEventHandler(
|
||||||
IOrderRepository orderRepository,
|
IOrderRepository orderRepository,
|
||||||
@ -40,8 +36,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
IOrderOperationRecordEsRepository orderOperationRecordEsRepository,
|
IOrderOperationRecordEsRepository orderOperationRecordEsRepository,
|
||||||
IBroadcastingService broadcastingService,
|
IBroadcastingService broadcastingService,
|
||||||
ILogger<TrackUpsertEventHandler> logger,
|
ILogger<TrackUpsertEventHandler> logger,
|
||||||
IServiceProvider serviceProvider
|
WarningSignalPublisher warningSignalPublisher
|
||||||
//WarningSignalPublisher warningSignalPublisher
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_orderRepository = orderRepository;
|
_orderRepository = orderRepository;
|
||||||
@ -51,8 +46,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
_orderOperationRecordEsRepository = orderOperationRecordEsRepository;
|
_orderOperationRecordEsRepository = orderOperationRecordEsRepository;
|
||||||
_broadcastingService = broadcastingService;
|
_broadcastingService = broadcastingService;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_serviceProvider = serviceProvider;
|
_warningSignalPublisher = warningSignalPublisher;
|
||||||
//_warningSignalPublisher = warningSignalPublisher;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[CapSubscribe(GlobalConst.TrackUpsertSubscribe, Group = GlobalConst.TrackUpsertSubscribe)]
|
[CapSubscribe(GlobalConst.TrackUpsertSubscribe, Group = GlobalConst.TrackUpsertSubscribe)]
|
||||||
@ -102,11 +96,10 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
// 不同子系统需要做内容映射
|
// 不同子系统需要做内容映射
|
||||||
if (@event.SubSystemId != nextEvent.SubSystemId)
|
if (@event.SubSystemId != nextEvent.SubSystemId)
|
||||||
{
|
{
|
||||||
var mapCode = (await _provideQueries
|
var mapCode = (await _provideQueries.MapTrackCodesAsync(@event.SubSystemId, nextEvent.SubSystemId, @event.TrackCode))
|
||||||
.MapTrackCodesAsync(@event.SubSystemId, nextEvent.SubSystemId, @event.TrackCode))
|
|
||||||
.FirstOrDefault();
|
.FirstOrDefault();
|
||||||
|
|
||||||
if (mapCode == default)
|
if (mapCode == null)
|
||||||
{
|
{
|
||||||
// 跨子系统没做映射的轨迹不处理
|
// 跨子系统没做映射的轨迹不处理
|
||||||
continue;
|
continue;
|
||||||
@ -518,75 +511,12 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
|||||||
|
|
||||||
private void WarningCalc_AddedTrack(List<TrackDetailsIndex> tracks)
|
private void WarningCalc_AddedTrack(List<TrackDetailsIndex> tracks)
|
||||||
{
|
{
|
||||||
if (_BUGOptions.EnablePref)
|
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹新增, tracks);
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateScope();
|
|
||||||
var _warningSignalPublisher = scope.ServiceProvider.GetRequiredService<WarningSignalPublisher>();
|
|
||||||
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹新增, tracks);
|
|
||||||
scope.Dispose();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//_warningSignalPublisher.PublishWarningSignal(WarningSignalType.轨迹新增, tracks);
|
|
||||||
var signals = WarningSignal.FromTrack(tracks, WarningSignalType.轨迹新增);
|
|
||||||
_ = Task.Run(async () =>
|
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateAsyncScope();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var handler = scope.ServiceProvider.GetRequiredService<ICompleteWarningHandler>();
|
|
||||||
var handler2 = scope.ServiceProvider.GetRequiredService<ITransportWarningHandler>();
|
|
||||||
|
|
||||||
await Task.Delay(1500); //确保落盘
|
|
||||||
await handler.TrackAddedHandleAsync(signals);
|
|
||||||
await handler2.TrackAddedOrUpdatedHandleAsync(signals);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
LogHelper.Error(ex);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
await scope.DisposeAsync();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void WarningCalc_UpdatedTrack(List<TrackDetailsIndex> tracks)
|
private void WarningCalc_UpdatedTrack(List<TrackDetailsIndex> tracks)
|
||||||
{
|
{
|
||||||
if (_BUGOptions.EnablePref)
|
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹更新, tracks);
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateScope();
|
|
||||||
var _warningSignalPublisher = scope.ServiceProvider.GetRequiredService<WarningSignalPublisher>();
|
|
||||||
_warningSignalPublisher.PublishSignal(WarningSignalType.轨迹更新, tracks);
|
|
||||||
scope.Dispose();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//_warningSignalPublisher.PublishWarningSignal(WarningSignalType.轨迹更新, tracks);
|
|
||||||
var signals = WarningSignal.FromTrack(tracks, WarningSignalType.轨迹更新);
|
|
||||||
|
|
||||||
_ = Task.Run(async () =>
|
|
||||||
{
|
|
||||||
var scope = _serviceProvider.CreateAsyncScope();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var handler = scope.ServiceProvider.GetRequiredService<ITransportWarningHandler>();
|
|
||||||
var handler2 = scope.ServiceProvider.GetRequiredService<IReturnWarningHandler>();
|
|
||||||
|
|
||||||
await Task.Delay(1500); //确保落盘
|
|
||||||
await handler.TrackAddedOrUpdatedHandleAsync(signals);
|
|
||||||
await handler2.TrackUpdatedOrDeletedHandleAsync(signals);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
LogHelper.Error(ex);
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
await scope.DisposeAsync();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,7 @@ public static class WarningCalcServiceExtension
|
|||||||
{
|
{
|
||||||
public static void AddWarningCalcServices(this IServiceCollection services, IConfiguration conf)
|
public static void AddWarningCalcServices(this IServiceCollection services, IConfiguration conf)
|
||||||
{
|
{
|
||||||
|
PrintKafkaLibVersion();
|
||||||
var env = "-" + conf.GetValue<string>("Environment")!.ToLower();
|
var env = "-" + conf.GetValue<string>("Environment")!.ToLower();
|
||||||
// 预警信号批处理后台任务
|
// 预警信号批处理后台任务
|
||||||
services.AddHostedService<WarningCalcBackgroundService>();
|
services.AddHostedService<WarningCalcBackgroundService>();
|
||||||
@ -163,6 +164,20 @@ public static class WarningCalcServiceExtension
|
|||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void PrintKafkaLibVersion()
|
||||||
|
{
|
||||||
|
var loadSuccess = Library.Load(null);
|
||||||
|
Console.WriteLine($@"
|
||||||
|
+-------------------------------------------------------+
|
||||||
|
| |
|
||||||
|
| LibrdKafka |
|
||||||
|
| 加载:{loadSuccess},版本号:{Library.VersionString} |
|
||||||
|
| |
|
||||||
|
+-------------------------------------------------------+
|
||||||
|
");
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal sealed class JsonCoreSerializer<T> : ISerializer<T>, IDeserializer<T>
|
internal sealed class JsonCoreSerializer<T> : ISerializer<T>, IDeserializer<T>
|
||||||
|
|||||||
@ -203,8 +203,7 @@ public class SjzyTrackApplicationModule : AbpModule
|
|||||||
$",abortConnect=false";
|
$",abortConnect=false";
|
||||||
|
|
||||||
// 注册预警计算服务
|
// 注册预警计算服务
|
||||||
if (_BUGOptions.EnablePref)
|
context.Services.AddWarningCalcServices(configuration);
|
||||||
context.Services.AddWarningCalcServices(configuration);
|
|
||||||
|
|
||||||
// 注册预警任务后台服务
|
// 注册预警任务后台服务
|
||||||
context.Services.AddHostedService<WarningTaskComponentBackgroundService>();
|
context.Services.AddHostedService<WarningTaskComponentBackgroundService>();
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
namespace SJZY.Track.Application;
|
|
||||||
|
|
||||||
public static class _BUGOptions
|
|
||||||
{
|
|
||||||
public static bool EnablePref = false;
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user