【发布时间】:2019-03-05 01:34:37
【问题描述】:
我在 ReceiveAndDelete 模式下从服务总线收到一条消息,并开始运行一个很长的计算过程,完成后会发送一封邮件。在我的长期运行方法中,我的所有方法都有错误记录。但是,该方法运行 10-15 分钟,之后变得无响应,既不记录错误也不发送电子邮件。我想知道这可能与消息的 TTL 有关。
请指教我该怎么办?
private static async Task ProcessMessagesAsync(Message message, CancellationToken token)
{
try
{
IQueueClient queueClient = new QueueClient(serviceBusConnectionString, serviceBusQueueName, ReceiveMode.ReceiveAndDelete);
var receivedMessageTrasactionId = Convert.ToInt64(Encoding.UTF8.GetString(message.Body));
// Very Long Running Method
await DataCleanse.PerformDataCleanse(receivedMessageTrasactionId);
// to avoid unnecessary exceptions.
}
catch (Exception ex)
{
Log4NetErrorLogger(ex);
throw ex;
}
}
【问题讨论】:
标签: c# azure azureservicebus long-running-processes