增加上传列表

This commit is contained in:
18610128193
2026-06-22 14:02:56 +08:00
4 changed files with 34 additions and 7 deletions
+18 -4
View File
@@ -1,10 +1,24 @@
from fastapi import APIRouter, Depends, HTTPException, Request
from fastapi import APIRouter, HTTPException
import asyncio
from redis.asyncio import Redis
from app.config import settings
from app.utils.redis import get_redis
router = APIRouter(prefix="/test", tags=["test"])
@router.get("/index")
async def test():
return {"message": "test","code":200}
redis = None
try:
redis = get_redis()
await redis.set("test", "123", ex=60)
value = await redis.get("test")
return {"message": "redis测试成功", "value": value}
except Exception as e:
if redis:
try:
await redis.close()
except:
pass
return {"message": f"redis测试失败: {str(e)}"}
+7 -1
View File
@@ -1,25 +1,30 @@
import os
import json
import uuid
import json
import uuid
from typing import Any, Optional, Dict
from fastapi import APIRouter, Depends, HTTPException, status, Query
from fastapi import APIRouter, Depends, HTTPException, status, Query
from pydantic import BaseModel, Field
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select, func
from sqlalchemy import select, func
from app.dependencies import get_current_user, get_db
from app.models.user import User
from app.models.pre_test_template import PreTestTemplate
from app.models.upload_task import UploadTask
from app.models.upload_task import UploadTask
from app.services.upload_material_service import upload_material_to_platform
from app.services.upload_queue import upload_queue
from app.services.upload_queue import upload_queue
from app.utils.douyinApi import DouyinApi
from app.utils.id_gen import generate_id
router = APIRouter(prefix="/upload-material", tags=["上传素材"])
class UploadTaskRequest(BaseModel):
advertiser_ids: list[str] = Field(..., description="广告主id数组,支持多条")
resource_ids: list[str] = Field(..., description="资源id数组(generated_resources表主键)")
@@ -30,6 +35,7 @@ class UploadTaskRequest(BaseModel):
class BatchUploadRequest(BaseModel):
tasks: list[UploadTaskRequest] = Field(..., description="批量上传任务列表")
tasks: list[UploadTaskRequest] = Field(..., description="批量上传任务列表")
@router.post(
+7
View File
@@ -68,6 +68,11 @@ async def lifespan(app: FastAPI):
await upload_queue.recover()
upload_queue_task = asyncio.create_task(upload_queue.run())
# 启动上传队列(异步处理素材上传)
from app.services.upload_queue import upload_queue
await upload_queue.recover()
upload_queue_task = asyncio.create_task(upload_queue.run())
# 启动时立即同步一次未支付订单
asyncio.create_task(asyncio.sleep(5)) # 等待5秒后再同步,让系统完全启动
async def startup_sync():
@@ -94,6 +99,8 @@ async def lifespan(app: FastAPI):
await upload_queue_task
expiry_task.cancel()
token_refresh_task.cancel()
upload_queue.stop()
await upload_queue_task
await close_database()
await close_redis()
+2 -2
View File
@@ -1,4 +1,4 @@
from sqlalchemy import String, Text, Integer
from sqlalchemy import String, Text, Integer
from sqlalchemy.orm import Mapped, mapped_column
from app.models.base import Base, TimestampMixin, SoftDeleteMixin
@@ -26,5 +26,5 @@ class UploadTask(Base, TimestampMixin, SoftDeleteMixin):
Text, nullable=True, comment="上传备注"
)
oauth_id: Mapped[str] = mapped_column(
String(64), nullable=False, index=True,
String(64), nullable=False, index=True, comment="授权表id"
)