xiaoxia
|
efe7f6b52a
|
feat: 任务队列限流防护
feat: 任务队列限流防护
- 用户级 pending 限流(3 个上限,返回 429)
- 全局队列保护(20 个上限,返回 503)
- 4 处入口全覆盖:批量创建、generation 重试、任务中心两级重试
- 入队前预检查 + 入队后最终校验双层兜底,处理并发竞态
- 阈值统一常量管理,边界语义一致
- 350+ 行单元测试覆盖所有边界场景
|
2026-07-11 16:29:07 +08:00 |
|
用户CI Test
|
9aa450bb8b
|
refactor: 安全入队函数抽为公共工具,消除重复定义
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 8s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m9s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
- 新增 app/core/task_enqueue.py,统一 safe_enqueue_generation_task 实现
- generation_tasks.py 和 task_center.py 改为 import 公共函数
- 修复 task_center.py 缺失 logging 导入的问题
- 日志前缀通过参数传入,保持各模块语义不变
|
2026-07-11 11:31:17 +08:00 |
|
xiaoxia
|
f5d3482fa9
|
fix: P0-2 OSS 凭证启动验证 + 诊断日志 (#209)
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 15s
CI/CD Pipeline / Frontend Lint (push) Successful in 1m6s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
|
2026-07-10 18:15:42 +08:00 |
|
用户CI Test
|
81984ae938
|
fix: P0-2 预签名URL诊断日志 + P0-3 xfade exit 234 三重修复
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 13s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m21s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
P0-2 (预签名URL staging未生效):
- storage.py get_download_url() 增加诊断日志(bucket=None / sign_url失败)
- 代码逻辑已验证正确,8个单元测试覆盖全路径
- staging问题最可能是未重新部署或OSS凭证未配置
P0-3 (FFmpeg xfade exit 234):
- Fix 1: _build_single_clip_filter 始终 trim 到 effective_duration
- Fix 2: _build_filter_complex 用 effective_duration 计算 xfade offset
- Fix 3: build_xfade_filter_chain 逐步安全钳制 td/offset
- 动态 first_input_dur 跟踪
- per-step td 钳制到 available 和 remaining
- 保证 offset + td ≤ first_input_duration
新增 20 个单元测试全部通过,全量 1213 测试无回归
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-10 14:47:09 +08:00 |
|
CI Test
|
abfc598d3f
|
refactor: 代码精简优化 - 移除无用代码和重复定义
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 156h9m36s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 156h9m43s
1. 删除无用文件:
- apps/api/app/core/database.py (未被引用的死代码)
- requirements-quality.txt (与 requirements-dev.txt 完全重复)
- fix_script.py, fix_tracker_encoding.py (一次性修复脚本)
- init_tracker_phase4.py, init_tracker_simple.py, update_tracker.py (SQLite迁移脚本)
2. 清理死代码:
- apps/api/app/db.py: 移除未使用的 get_db() 函数和 sqlalchemy.orm 导入
- 11个路由/中间件文件: 移除未使用的 import (os, datetime, BaseModel, Session, List 等)
3. 消除重复定义:
- apps/worker/video_processing/video_compose_service.py: 移除重复的 EditingMode 枚举
- 改为从 packages.domain.editing_mode 导入统一的 EditingMode
影响: 无功能变更,仅移除未使用的代码
|
2026-07-03 00:44:29 +08:00 |
|
xiaoxia
|
1217d8cef0
|
style: apply isort formatting to pass CI validation (#129)
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h35m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h36m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h36m17s
|
2026-06-30 18:17:44 +08:00 |
|
xiaoxia
|
52ff2f80ad
|
style: apply black formatting to pass CI validation (#126)
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
|
2026-06-30 17:23:08 +08:00 |
|
Audit Bot
|
05c9137ece
|
fix: 上传端点异常处理 + OSS 诊断能力
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
问题:PR#119 修复变量名后上传端点仍然 500,说明根因不仅是变量名错误
修复:
1. upload.py — 所有 3 个上传端点添加完整异常捕获和日志
- prepare_direct_upload: 捕获 RuntimeError→503 + 其他异常→500+日志
- complete_direct_upload: file_exists() 异常捕获→503(之前未捕获→500)
- upload_asset: upload_file() 异常捕获→503/500+日志(之前未捕获→500)
2. storage.py — OSSStorageService.__init__ 添加启动诊断日志
- 凭证缺失时记录 missing env vars
- oss2 SDK 未安装时记录错误
- bucket 初始化成功/失败时记录
3. health.py — /ready 端点增加 OSS 检查
- 检查凭证是否配置
- 检查 oss2 SDK 是否可用
- 调用 get_bucket_info() 验证连通性
部署后请调用 GET /api/v1/ready 查看 OSS 状态
|
2026-06-30 09:56:20 +08:00 |
|
API文档维护Agent
|
e2c68888e9
|
refactor: 统一 OSS 配置命名(MINIO_* → OSS_*)
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
- .env.production: MINIO_* 环境变量全部改为 OSS_* 命名
- MINIO_ENDPOINT → OSS_ENDPOINT
- MINIO_ACCESS_KEY → OSS_ACCESS_KEY_ID
- MINIO_SECRET_KEY → OSS_ACCESS_KEY_SECRET
- MINIO_BUCKET → OSS_BUCKET_NAME
- MINIO_SECURE → OSS_SECURE
- MINIO_PUBLIC_URL → OSS_PUBLIC_URL
- .env.staging: 修正 section header 为 OSS 对象存储配置
- storage.py: 移除 MinIOService 和 get_minio_service() 向后兼容别名
- test_architecture_boundaries.py: 移除 storage.py 的 allowed 例外
- 更新文档中的 MINIO_* 示例为 OSS_*:
- docs/CI-CD.md
- docs/基础设施安装指南.md
- docs/本地验证检查清单.md
- docs/静态验证报告-2026-06-19.md
|
2026-06-28 08:33:48 +08:00 |
|
xiaoxia
|
7651a5f3f2
|
fix: P3-1 unify database config with app.config
|
2026-06-26 17:56:33 +08:00 |
|
Xiaoxia AI
|
6e42f944c0
|
feat(upload): add OSS direct upload flow
|
2026-06-23 15:47:03 +08:00 |
|
Xiaoxia AI
|
bfbaddbd9a
|
style: normalize python formatting gates
|
2026-06-21 06:52:19 +08:00 |
|
Xiaoxia AI
|
a3fe72a65f
|
refactor(config): centralize api settings source
|
2026-06-21 00:36:13 +08:00 |
|
Xiaoxia AI
|
57310f33d4
|
fix(auth): harden simple auth and router imports
|
2026-06-21 00:27:58 +08:00 |
|
Xiaoxia AI
|
1e3a52fa17
|
fix(worker): persist generated mp4 without oss
|
2026-06-20 23:17:52 +08:00 |
|
Xiaoxia AI
|
d31c62d4e2
|
fix(deploy): align deployment with split infrastructure
|
2026-06-20 19:02:48 +08:00 |
|
Xiaoxia AI
|
94dd60108c
|
refactor: 彻底迁移到阿里云 OSS 并重构基础设施
- 删除 MinIO 依赖,改用阿里云 OSS (oss2)
- 重写存储服务 storage.py(完全兼容原接口)
- 更新配置:config.py 改为 OSS_* 配置项
- 重构 Docker Compose:分离基础设施(infra.yml)和应用(compose.yml)
- 添加健康检查和自动重启配置
- 创建标准化部署脚本(init-server.sh + deploy.sh)
- 统一 Nginx 配置(主域名 api.xiaoxiajianji.com)
- 修复 Web Dockerfile 端口映射(80 not 3000)
服务器清理完成:
- 删除旧云控制台、监控系统、桌面版代码
- 删除 2.6GB 旧安装包
- 清理 Docker 缓存 2.5GB
- 磁盘使用率从 48% 降至 26%
|
2026-06-20 15:24:24 +08:00 |
|
Xiaoxia AI
|
8493471c19
|
feat(project-d): implement real video generation pipeline with FFmpeg
|
2026-06-19 10:54:20 +08:00 |
|
Xiaoxia AI
|
642d01eee4
|
feat(phase7): prefer presigned generated video downloads
|
2026-06-18 20:49:31 +08:00 |
|
Xiaoxia AI
|
8d78798a7d
|
fix(phase7): align api runtime wiring for integration
|
2026-06-17 18:48:08 +08:00 |
|
Xiaoxia AI
|
c6e6213209
|
fix: decouple api from worker package imports
|
2026-06-15 18:59:58 +08:00 |
|
Xiaoxia AI
|
4475677763
|
chore: wire deployment to environment-based configuration
|
2026-06-15 18:40:56 +08:00 |
|
Xiaoxia AI
|
36126b47d7
|
chore: add production environment configuration system
|
2026-06-15 18:32:05 +08:00 |
|
Xiaoxia AI
|
ba159549e2
|
feat: integrate MinIO for real file storage
Tests / test (push) Failing after 30s
Tests / lint (push) Failing after 30s
|
2026-06-15 18:19:12 +08:00 |
|
Xiaoxia AI
|
e4e2595e70
|
feat: add PostgreSQL persistence layer
- adapters: SQLAlchemy implementations for all 4 repositories (Project, AssetLibrary, Asset, IngestJob)
- models: SQLAlchemy ORM models with proper schema
- database: connection config and session management
- tests: SQLAlchemy repository integration test (in-memory SQLite)
- all 7 integration tests passing
|
2026-06-15 15:29:13 +08:00 |
|
Xiaoxia AI
|
b5a62ee9a3
|
feat: initial SaaS scaffold
- domain: User, Workspace, Project, AssetLibrary, Asset, IngestJob
- ports: repository interfaces
- application: use cases
- adapters: in-memory
- API: FastAPI 5 routes
- worker: Celery ingest_asset
- tests: 4 passing
|
2026-06-15 15:17:40 +08:00 |
|