【发布时间】:2020-12-01 19:16:34
【问题描述】:
假设我们需要在用户完成他/她的购物车之后生成订单。
这是我们生成订单的步骤:
- 生成处于待处理状态的订单(订单微服务)
- 授权用户信用(会计微服务)
- 将购物车状态设置为关闭(购物车微服务)
- 批准订单(订单微服务)
为此,我们只需创建一个节奏工作流,为每个步骤调用一个活动。
问题1:如果用户再次打开购物车或刷新页面,客户端如何检测到该购物车的订单正在创建中? (注意:假设我们的工作流还没有被worker执行)
我对问题1的解决方案:在运行工作流之前创建订单并将其状态更改为pending,因此对于下一个请求,客户端知道该订单处于待处理状态。但是如果订单创建成功,但启动工作流失败,会发生什么?它不是事务性的(订单创建和工作流程运行)
如果此解决方案也是您的解决方案并且您接受其风险,请告诉我。我是节奏的新手。
问题2:在工作流完成且订单准备好后如何通知客户?
请提供任何解决方案或文章或帮助?
【问题讨论】:
标签: cadence-workflow temporal-workflow uber-cadence