增加上传列表
This commit is contained in:
@@ -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)}"}
|
||||
@@ -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(
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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"
|
||||
)
|
||||
Reference in New Issue
Block a user