キューからアイテムを処理する必要があります。
キューから項目を削除するには、 を手動で呼び出しますQueue.DeleteMessage
。これは、処理が成功するかどうかに関係なく発生する必要があります。
var queueMessage = Queue.GetMessage();
try
{
pipeline.Process(queueMessage);
}
catch (Exception ex)
{
try
{
Logger.LogException(ex);
}
catch { }
}
finally
{
Queue.DeleteMessage(queueMessage);
}
問題:
失敗すると、エラーをデータストアに記録します。このロギングが失敗した場合 (おそらくデータ ストアが利用できない場合)、メッセージをキューから削除する必要があります。
LogException
呼び出しを別の でラップしましたtry catch
。これは正しい方法ですか、それとも実行することですか?