首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送电子邮件(或任何消息)一次且仅在可重试操作中发送一次

发送电子邮件(或任何消息)一次且仅在可重试操作中发送一次
EN

Stack Overflow用户
提问于 2016-04-15 14:18:09
回答 1查看 461关注 0票数 4

我有一个向用户信用卡收费的程序。该卡通过第三方API进行收费。当我从第三方API得到响应时,我会更新用户余额的内部表示。一旦用户的余额被更新,收据就会通过电子邮件发送给用户。

在为用户的卡充电和更新其余额的内部表示之间,可能会发生一些服务器错误(例如,意外断电)的可能性很小。为了防止这种情况,我已经使整个支付过程是幂等的,这样它就可以重试,而不需要向用户收取双重费用,但肯定会更新用户的内部余额。唯一的问题是发送收据。没有办法(我能想到的)使这个操作是幂等的。目前,我只发送余额更新的电子邮件,但当然服务器可能会在余额更新和发送收据之间失败,导致收据永远不会发送的情况。人们通常是如何解决这个问题的?

我将这个问题标记为language-agnostic,因为它似乎是一个发送消息的一般问题,但我正在使用Java和亚马逊网络服务的简单电子邮件服务来解决这个问题,所以使用这些技术获得答案将是非常棒的。

EN

回答 1

Stack Overflow用户

发布于 2016-04-15 14:24:05

当我们之前这样做的时候,我们在对象中使用了一个在发送通知时设置的标志,这样如果为该事务/id设置了标志,循环就不会发送电子邮件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36639576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档