【发布时间】:2020-07-31 22:01:01
【问题描述】:
我有从 Azure 服务队列读取贷款号码并为每个贷款号码调用我的 API 的点网代码。
这是我调用 api 的代码
private async Task ProcessMessagesAsync(Message message, CancellationToken token)
{
try
{
string loanNumber = Encoding.UTF8.GetString(message.Body);
_logger.LogInformation($"Received message: SequenceNumber:{message.SystemProperties.SequenceNumber} LoanNumber:{loanNumber}");
//API CALL HERE
await _apiClient.getResult(loanNumber);
await _queueClient.CompleteAsync(message.SystemProperties.LockToken);
}
catch (Exception ex)
{
//sending failed messages to Dead Letter queue
await _queueClient.AbandonAsync(message.SystemProperties.LockToken);
}
}
失败的贷款号码被成功发送到死信队列。当服务器关闭或来自 API 响应的错误请求时。
我想在死信队列中的贷款号码经过一定时间后调用 api。 有什么方法可以在一定间隔后将死信队列中的消息转换为活动消息??
我是天蓝色的新手。请帮我解决问题。
提前致谢。
【问题讨论】:
-
是的,可以通过开箱即用的Serverless360实现。它具有内置的自动化功能,您可以在定义的时间间隔后自动将 DLQ 消息重新提交到主队列。
标签: azure .net-core azureservicebus