云服务器内容精选

  • FunctionGraph函数初始化入口 在示例代码中我们在initializer方法内创建Redis客户端,并在创建函数时配置了初始化函数,如下: def initializer(context): global redis_client redis_client = create_redis_client(context) redis_client.ping() 图1 初始化函数配置 这里用到了FunctionGraph的函数初始化入口Initializer能力,通过该能力我们能在函数初始化阶段完成Redis客户端的创建,在调用handler处理请求时能够使用该Redis客户端复用连接,相比在handler处理请求时每次都创建Redis客户端,减少了资源消耗并且性能更优。 请勿在函数初始化入口捕获异常,否则会导致FunctionGraph认为函数初始化成功,进而开始接收函数调用请求。但是因为初始化实际上是失败的,导致函数执行时使用了不可用的redis_client而失败。 父主题: 代码解读
  • Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff(), 3) pool = BlockingConnectionPool(host=redis_host, port=redis_port, password=redis_password, max_connections=50, timeout=3, socket_timeout=2, socket_connect_timeout=2, retry=retry, retry_on_error=[BusyLoadingError, ConnectionError, TimeoutError], health_check_interval=60, decode_responses=True) 如果业务量大建议不适用该配置,进而减少开销。 父主题: 代码解读