Commit bfa283e3 authored by Savorboard's avatar Savorboard

rename configuration options FailedCallback to FailedThresholdCallback

parent 99737992
...@@ -58,9 +58,9 @@ namespace DotNetCore.CAP ...@@ -58,9 +58,9 @@ namespace DotNetCore.CAP
public int FailedRetryInterval { get; set; } public int FailedRetryInterval { get; set; }
/// <summary> /// <summary>
/// We’ll invoke this call-back with message type,name,content when requeue failed message. /// We’ll invoke this call-back with message type,name,content when retry failed (send or executed) messages equals <see cref="FailedRetryCount"/> times.
/// </summary> /// </summary>
public Action<MessageType, string, string> FailedCallback { get; set; } public Action<MessageType, string, string> FailedThresholdCallback { get; set; }
/// <summary> /// <summary>
/// The number of message retries, the retry will stop when the threshold is reached. /// The number of message retries, the retry will stop when the threshold is reached.
......
...@@ -65,19 +65,6 @@ namespace DotNetCore.CAP.Processor ...@@ -65,19 +65,6 @@ namespace DotNetCore.CAP.Processor
continue; continue;
} }
if (!hasException)
{
try
{
_options.FailedCallback?.Invoke(MessageType.Publish, message.Name, message.Content);
}
catch (Exception ex)
{
hasException = true;
_logger.LogWarning("Failed call-back method raised an exception:" + ex.Message);
}
}
using (var transaction = connection.CreateTransaction()) using (var transaction = connection.CreateTransaction())
{ {
var result = await _publishExecutor.PublishAsync(message.Name, message.Content); var result = await _publishExecutor.PublishAsync(message.Name, message.Content);
...@@ -101,6 +88,21 @@ namespace DotNetCore.CAP.Processor ...@@ -101,6 +88,21 @@ namespace DotNetCore.CAP.Processor
{ {
_logger.LogError($"The message still sent failed after {_options.FailedRetryCount} retries. We will stop retrying the message. " + _logger.LogError($"The message still sent failed after {_options.FailedRetryCount} retries. We will stop retrying the message. " +
"MessageId:" + message.Id); "MessageId:" + message.Id);
if (message.Retries == _options.FailedRetryCount)
{
if (!hasException)
{
try
{
_options.FailedThresholdCallback?.Invoke(MessageType.Publish, message.Name, message.Content);
}
catch (Exception ex)
{
hasException = true;
_logger.LogWarning("Failed call-back method raised an exception:" + ex.Message);
}
}
}
} }
} }
await transaction.CommitAsync(); await transaction.CommitAsync();
...@@ -124,19 +126,6 @@ namespace DotNetCore.CAP.Processor ...@@ -124,19 +126,6 @@ namespace DotNetCore.CAP.Processor
continue; continue;
} }
if (!hasException)
{
try
{
_options.FailedCallback?.Invoke(MessageType.Subscribe, message.Name, message.Content);
}
catch (Exception ex)
{
hasException = true;
_logger.LogWarning("Failed call-back method raised an exception:" + ex.Message);
}
}
using (var transaction = connection.CreateTransaction()) using (var transaction = connection.CreateTransaction())
{ {
var result = await _subscriberExecutor.ExecuteAsync(message); var result = await _subscriberExecutor.ExecuteAsync(message);
...@@ -160,6 +149,22 @@ namespace DotNetCore.CAP.Processor ...@@ -160,6 +149,22 @@ namespace DotNetCore.CAP.Processor
{ {
_logger.LogError($"[Subscriber]The message still executed failed after {_options.FailedRetryCount} retries. " + _logger.LogError($"[Subscriber]The message still executed failed after {_options.FailedRetryCount} retries. " +
"We will stop retrying to execute the message. message id:" + message.Id); "We will stop retrying to execute the message. message id:" + message.Id);
if (message.Retries == _options.FailedRetryCount)
{
if (!hasException)
{
try
{
_options.FailedThresholdCallback?.Invoke(MessageType.Subscribe, message.Name, message.Content);
}
catch (Exception ex)
{
hasException = true;
_logger.LogWarning("Failed call-back method raised an exception:" + ex.Message);
}
}
}
} }
} }
await transaction.CommitAsync(); await transaction.CommitAsync();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment