首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否内置了对处理竞争条件的支持?

是否内置了对处理竞争条件的支持?
EN

Stack Overflow用户
提问于 2020-06-24 12:31:19
回答 2查看 160关注 0票数 0

条纹API是否具有处理争用条件的内置支持?

例如,如果订阅是past_due,因此我决定取消它,我如何处理在取消发生之前支付发票的竞争条件?

我可以想到几个这样的竞态条件。有没有标准的方法来预防或处理它们?或者,在进行更改后检查状态并在检测到竞争条件时进行必要的调整是检测它们的唯一方法?

EN

回答 2

Stack Overflow用户

发布于 2020-06-24 12:50:44

是也不是。在你所描述的情况下,条纹API不会阻止该动作,因为条纹不能确定预期的动作是什么。如果您确实打算在延迟付款后立即取消订阅,该怎么办?

然而,Stripe确实使用了"object lock timeouts"的概念,如果您尝试在同一对象上执行太多操作,则API将返回429错误,这可能会导致您试图防止的竞争条件。

为了尽可能地保护您自己,我会混合使用idempotency keyswebhooks来确保执行的请求始终是预期的。

票数 0
EN

Stack Overflow用户

发布于 2020-06-30 19:09:29

我对这个问题的解决方案是使用较低级别的支付意图(而不是订阅和发票),并使用我自己的锁定机制。仍然有一些竞争条件,但它们要少得多,也更容易纠正/预防。主要的缺点是,像自动支付重试这样的内置功能较少。

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

https://stackoverflow.com/questions/62547684

复制
相关文章

相似问题

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