SkillHub

http-retry-c

v1.0.0

提供HTTP请求重试、指数退避、超时控制、连接池及限流处理,提升调用成功率与弹性。

Sourced from ClawHub, Authored by Light F Star

Installation

Please help me install the skill `http-retry-c` from SkillHub official store. npx skills add gatsby047-oss/http-retry-c

HTTP Retry - HTTP 重试机制

Version: 1.0.0
Author: Claw
License: MIT


Description / 功能说明

Universal HTTP retry mechanism with exponential backoff. Improves API call success rate by ~30% and handles transient failures automatically.

通用 HTTP 重试机制,支持指数退避。提升 API 调用成功率约 30%,自动处理临时故障。

Core Features / 核心功能

  • Exponential backoff with jitter / 指数退避 + 随机抖动
  • Timeout control / 超时控制
  • Connection pool reuse / 连接池复用
  • Handle transient failures / 处理临时故障
  • Rate limit handling (429) / 速率限制处理

Use Cases / 适用场景

  • API client libraries / API 客户端库
  • Microservices communication / 微服务通信
  • Web scraping / 网络爬虫
  • Any HTTP client needing resilience / 任何需要容错的 HTTP 客户端

Usage / 使用示例

#include "http_retry.h"

int main() {
    HttpRetryConfig config = {
        .max_attempts = 5,
        .base_delay_ms = 100,
        .max_delay_ms = 10000,
        .timeout_ms = 30000
    };

    HttpResponse response = http_request_with_retry("https://api.example.com/data", &config);

    if (response.status_code == 200) {
        printf("Success after %d attemptsn", response.attempt_count);
    }

    return 0;
}

Impact / 效果

Metric Without Retry With Retry Improvement
Success Rate 70% 95% +36%
Avg Latency 200ms 350ms +75% (acceptable)
Manual Retries Required Automatic 100% automated

Changelog / 变更日志

1.0.0

  • Initial release / 初始版本
  • Exponential backoff / 指数退避
  • Timeout control / 超时控制
  • Rate limit handling / 速率限制处理