更新为预发环境配置,暂时配合js端隐藏了comfy的接口

This commit is contained in:
shuohigh@gmail.com 2025-05-29 15:18:19 +08:00
parent 73bcd6de68
commit 894e768eee
6 changed files with 15 additions and 6 deletions

View File

@ -1,4 +1,4 @@
MODAL_ENVIRONMENT=test MODAL_ENVIRONMENT=prod
modal_app_name=bowong-ai-video modal_app_name=bowong-ai-video
S3_mount_dir=/mntS3 S3_mount_dir=/mntS3
S3_bucket_name=modal-media-cache S3_bucket_name=modal-media-cache

View File

@ -77,6 +77,9 @@ async def scalar():
web_app.include_router(ffmpeg.router) web_app.include_router(ffmpeg.router)
web_app.include_router(cache.router) web_app.include_router(cache.router)
web_app.include_router(comfyui.router)
# todo: prod 展示去掉Comfy相关API接口
# web_app.include_router(comfyui.router)
web_app.include_router(google.router) web_app.include_router(google.router)
web_app.include_router(task.router) web_app.include_router(task.router)

View File

@ -4,7 +4,8 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
class WorkerConfig(BaseSettings): class WorkerConfig(BaseSettings):
video_downloader_concurrency: int = Field(default=10, description="处理缓存任务的并行数") video_downloader_concurrency: int = Field(default=10, description="处理缓存任务的并行数")
ffmpeg_worker_concurrency: int = Field(default=100, description="处理视频合成任务的并行数") ffmpeg_worker_concurrency: int = Field(default=20, description="处理视频任务的并行数")
ffmpeg_slice_worker_concurrency: int = Field(default=200, description="处理视频切割任务的并行数")
local_output_mount: str = Field(default="/mnt/outputs", description="本地结果挂载路径前缀") local_output_mount: str = Field(default="/mnt/outputs", description="本地结果挂载路径前缀")
S3_region: str = Field(default='ap-northeast-2', description="S3挂载桶的地域") S3_region: str = Field(default='ap-northeast-2', description="S3挂载桶的地域")

View File

@ -3,6 +3,7 @@ from typing import Annotated, cast
import modal import modal
from fastapi import APIRouter, Depends, Header from fastapi import APIRouter, Depends, Header
from fastapi.responses import Response from fastapi.responses import Response
from loguru import logger
from starlette import status from starlette import status
from ..config import WorkerConfig from ..config import WorkerConfig
@ -60,6 +61,7 @@ sentry_header_schema = {
}, },
) )
async def get_task_status(task_id: str, response: Response) -> BaseFFMPEGTaskStatusResponse: async def get_task_status(task_id: str, response: Response) -> BaseFFMPEGTaskStatusResponse:
logger.info(f"Get task [{task_id}]")
task_info = await ModalUtils.get_modal_task_status(task_id) task_info = await ModalUtils.get_modal_task_status(task_id)
if task_info.transaction: if task_info.transaction:
response.headers["x-trace-id"] = task_info.transaction.x_trace_id response.headers["x-trace-id"] = task_info.transaction.x_trace_id

View File

@ -16,5 +16,8 @@ app = modal.App(config.modal_app_name,
app.include(media_app) app.include(media_app)
app.include(ffmpeg_app) app.include(ffmpeg_app)
app.include(web_app) app.include(web_app)
app.include(comfyui_v1_app)
app.include(comfyui_v2_app) # todo: prod 暂时去掉Comfy相关接口
# app.include(comfyui_v1_app)
# app.include(comfyui_v2_app)

View File

@ -101,7 +101,7 @@ with ffmpeg_worker_image.imports():
@app.function( @app.function(
timeout=900, timeout=900,
cloud="aws", cloud="aws",
max_containers=config.ffmpeg_worker_concurrency, max_containers=config.ffmpeg_slice_worker_concurrency,
volumes={ volumes={
s3_mount: modal.CloudBucketMount( s3_mount: modal.CloudBucketMount(
bucket_name=config.S3_bucket_name, bucket_name=config.S3_bucket_name,