• QTom's avatar
    feat(backup): 备份/恢复异步化,解决 504 超时 · c1fab7f8
    QTom authored
    
    
    POST /backups 和 POST /backups/:id/restore 改为异步:立即返回 HTTP 202,
    后台 goroutine 独立执行 pg_dump → gzip → S3 上传,前端每 2s 轮询状态。
    
    后端:
    - 新增 StartBackup/StartRestore 方法,后台 goroutine 不依赖 HTTP 连接
    - Graceful shutdown 等待活跃操作完成,启动时清理孤立 running 记录
    - BackupRecord 新增 progress/restore_status 字段支持进度和恢复状态追踪
    
    前端:
    - 创建备份/恢复后轮询 GET /backups/:id 直到完成或失败
    - 标签页切换暂停/恢复轮询,组件卸载清理定时器
    - 正确处理 409(备份进行中)和轮询超时
    Co-Authored-By: default avatarClaude Opus 4.6 (1M context) <noreply@anthropic.com>
    c1fab7f8
backup_service.go 31.7 KB