以下是整合了所有改进点的完整代码实现:
package main
import (
"bytes"
"context"
"fmt"
"io"
"log"
"net/http"
"sync"
"time"
"github.com/go-redis/redis/v8"
"github.com/robfig/cron/v3"
"golang.org/x/time/rate"
)
// 任务状态常量
const (
StatusReady = "就绪"
StatusRunning = "运行中"
StatusStopped = "已停止"
StatusDisabled = "已禁用"
)
// 任务类型常量
const (
TaskTypePeriodic = "periodic" // 周期性任务
TaskTypeOneShot = "oneshot" // 一次性任务
)
// API调用结果结构
type APIResult struct {
StatusCode int // HTTP状态码
Body string // 响应体
Error error // 错误信息
Duration time.Duration // 耗时
Retries