最后while True那段代码感觉有问题

来源:44-7 库存扣减事务的完善

Josephhhhh

2021-09-01

        while True:
            if order_sn in local_execute_dict:
                context.set_code(local_execute_dict[order_sn]["code"])
                context.set_details(local_execute_dict[order_sn]["detail"])
                producer.shutdown()
                if local_execute_dict[order_sn]["code"] == grpc.StatusCode.OK:
                    return order_pb2.OrderInfoResponse(id=local_execute_dict[order_sn]["order"]["id"],
                                                       orderSn=local_execute_dict[order_sn]["order"]["orderSn"],
                                                       total=local_execute_dict[order_sn]["order"]["total"])
                else:
                    return order_pb2.OrderInfoResponse()
            time.sleep(0.1)

这段代码里,不会出现 order_sn 在 local_execute_dict 而 code 和 detail 不在 local_execute_dict[order_sn] 的情况吗?

写回答

2回答

无限灬

2022-11-14

请问这里什么情况下会出现 order_sn 在 local_execute_dict 而 code 和 detail 不在 local_execute_dict[order_sn] 的情况

0
0

bobby

2021-09-03

这里确实有遗漏的考虑, 有可能会出现,为了解决这个问题。可以在这里使用python的condition来进行通知,或者使用queue来进行通知,更加方便一些

0
1
无限灬
这里为什么有问题?是线程安全的问题吗?可以详细讲讲吗老师
2022-09-16
共1条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程