痛点分析
在实际业务开发中,我们开发人员可能面临一个问题针对部分重要业务场景需要尽可能保障业务顺畅流转,那就需要保证这些重要业务场景涉及到的接口底层方法处理时不会因为网络抖动而中断(其他原因不在本篇文章赘述),那如何降低或避免这种网络原因导致的问题呢?
解决方案
基于以上分析我们本文主要基于网络原因可能导致的接口方法不可用,那最常见的方式就是做重试补偿,具体的代码示例如下:
from pyhive import hive
from tenacity import retry,stop_after_attempt,wait_fixed
@retry(stop=stop_after_attempt(3),wait=wait_fixed(10))
def test_method(sql_config):
'''
连接不上hive时重试3次,每次重试间隔10秒
'''
hive_conn = hive.Connection(host=sql_config.host
,port=sql_config.port
,username=sql_config.user_name
,database=sql_config.db_name)
return hive_conn