public override async Task DoProcess() { var txId = await Inbox.TakeAsync(); try { if (await _transactionRepository.ContainsAsync(txId)) { return; } var tx = await _transactionProvider.GetTransactionByIdAsync(txId); await _transactionRepository.SaveAsync(txId, tx); } catch (Exception) { Inbox.Send(txId); // retry } }