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://www.cnblogs.com/brf-test/p/16639182.html