每天努力一点点,坚持下去 ------ 博客首页

Python接口循环下单时会有下单失败

代码:

def create_re_pay(num):
    for i in range(num):
        GovernmentApiClient().re_pay()


create_re_pay(3)

 结果:

{'code': 200, 'msg': '处理成功', 'time': 1661839781568, 'success': True, 'data': {'thirdOrderNo': '5rd20220830140955', 'platformOrderNo': 'LO20220830000000054', 'outOrderNo': 'LO20220830000000054', 'tradeTime': '2022083024140941', 'payAmount': '100000', 'status': '1'}}
{'code': 400, 'msg': '创建融资订单失败', 'time': 1661839781671, 'success': False}
{'code': 400, 'msg': '创建融资订单失败', 'time': 1661839781737, 'success': False}

 我们可以看到,只有第一条下单成功了,正常是应该全部下单成功的,那么是什么原因导致的其余的2条没下单成功呢?

原来是【全局解释器锁(Global Interpreter Lock,GIL)】的问题,GIL是一个互斥锁,它在任一时刻只允许一个线程对字节码进行执行,所以就要使用多进程或是加一个等待时间了

def create_re_pay(num):
    for i in range(num):
        sleep(1)
        GovernmentApiClient().re_pay()

 参考:https://zhuanlan.zhihu.com/p/493266886

posted @   他还在坚持嘛  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示