change:本地调试不做幂等
This commit is contained in:
parent
232d7d8254
commit
7331076e44
@ -24,6 +24,12 @@ public class CapFilter : SubscribeFilter
|
||||
if (context.DeliverMessage.Headers["cap-msg-name"]!.EndsWith(GlobalConst.TrackRefreshSubscribe))
|
||||
return Task.CompletedTask;
|
||||
|
||||
// 本地调试不做幂等
|
||||
if (System.Diagnostics.Debugger.IsAttached)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
var argumentJsonStr = context.Arguments.ToJson();
|
||||
context.DeliverMessage.Headers["sjzy-arguments"] = argumentJsonStr;
|
||||
|
||||
@ -33,8 +39,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(ErrorCode, $"检测到重复消费,消费参数:{argumentJsonStr}");
|
||||
if (isSkip)
|
||||
throw new BusinessException(ErrorCode, $"检测到重复消费,消费参数:{argumentJsonStr}");
|
||||
|
||||
RedisHelper.Client.Set($"CapExcuteFilter:{hash}", 60 * 10,
|
||||
TimeSpan.FromHours(1).Seconds); // 1h内不允许一模一样的参数重复消费
|
||||
|
||||
Loading…
Reference in New Issue
Block a user