From 6021e7c5d9a4a685858bf88179690a8df844cd27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Wed, 27 Mar 2024 10:40:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B2gank?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Application/EventHandlers/CAPFilter.cs | 7 ++----- src/SJZY.Track.Application/SjzyTrackApplicationModule.cs | 9 ++++++--- src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs index 31f49b16..cb60fc54 100644 --- a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs +++ b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs @@ -3,7 +3,6 @@ using DotNetCore.CAP.Filter; using SJZY.Expand.ABP.Core; using SJZY.Expand.ABP.Core.Logger; using SJZY.Expand.ABP.Core.PublicMethords; -using SJZY.Track.Domain.Consts; namespace SJZY.Track.Application.EventHandlers; @@ -18,8 +17,6 @@ public class CAPFilter : SubscribeFilter /// public override Task OnSubscribeExecutingAsync(ExecutingContext context) { - if (context.DeliverMessage.Headers["cap-msg-name"] == GlobalConst.TrackRefreshSubscribe) - return Task.CompletedTask; var argumentJsonStr = context.Arguments.ToJson(); context.DeliverMessage.Headers["sjzy-receive-time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"); @@ -31,8 +28,8 @@ public class CAPFilter : SubscribeFilter using (RedisHelper.Client.Lock("Filter:" + hash, 10)) { var isSkip = !string.IsNullOrEmpty(RedisHelper.Client.Get($"CapExcuteFilter:{hash}")); - if (isSkip) - throw new BusinessException(_ERROR_CODE, $"检测到重复消费,消费参数:{argumentJsonStr}"); + // if (isSkip) + // throw new BusinessException(_ERROR_CODE, $"检测到重复消费,消费参数:{argumentJsonStr}"); RedisHelper.Client.Set($"CapExcuteFilter:{hash}", 60 * 10, TimeSpan.FromHours(1).Seconds); // 1h内不允许一模一样的参数重复消费 diff --git a/src/SJZY.Track.Application/SjzyTrackApplicationModule.cs b/src/SJZY.Track.Application/SjzyTrackApplicationModule.cs index 88062bb8..2b1649a1 100644 --- a/src/SJZY.Track.Application/SjzyTrackApplicationModule.cs +++ b/src/SJZY.Track.Application/SjzyTrackApplicationModule.cs @@ -85,8 +85,11 @@ namespace SJZY.Track.Application configure.Password = configuration["RabbitMQ:Password"]!; configure.Port = configuration.GetValue("RabbitMQ:Port"); }); + + options.TopicNamePrefix = "v1"; + options.SucceedMessageExpiredAfter = 6 * 60 * 60; options.FailedRetryInterval = 60; - options.FailedRetryCount = 10; + options.FailedRetryCount = 3; options.UseDashboard(dashboardOptions => { dashboardOptions.PathBase = System.Diagnostics.Debugger.IsAttached @@ -100,8 +103,8 @@ namespace SJZY.Track.Application LogHelper.Error($@" |-CAP失败回调事件: |-处理类型:{(faileCalback.MessageType == DotNetCore.CAP.Messages.MessageType.Subscribe ? "消费消息达到最大重试次数,需要开发人员介入" : "生产消息推送失败")} - |-头部信息:{faileCalback.Message.Headers.ToJson()} - |-消息内容:{((JsonElement?)faileCalback.Message.Value)?.GetRawText()}"); + |-头部信息:{faileCalback?.Message?.Headers?.ToJson()} + |-消息内容:{((JsonElement)faileCalback?.Message?.Value).GetRawText()}"); } catch (Exception ex) { diff --git a/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs b/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs index b6d27ceb..535dcc4d 100644 --- a/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs +++ b/src/SJZY.Track.Domain/Consts/GlobalConst.MQ.cs @@ -30,7 +30,7 @@ public partial class GlobalConst /// /// 轨迹推送后触发更新订单主表 /// - public const string TrackPushAfterUpdateOrderSubscribe = "SJZY.Traack.TrackPushAfterUpdateOrder"; + public const string TrackPushAfterUpdateOrderSubscribe = "SJZY.Track.TrackPushAfterUpdateOrder"; /// /// 关联订单后补轨迹