From 05a4834ec59779689369731afc8ec411ff6834d3 Mon Sep 17 00:00:00 2001 From: Yudi Xiao <463708580@qq.com> Date: Tue, 21 Oct 2025 15:44:02 +0800 Subject: [PATCH] =?UTF-8?q?bug=20fix:=20=E4=BF=AE=E5=A4=8Dboto3=20?= =?UTF-8?q?=E5=88=86=E7=89=87=E4=B8=8A=E4=BC=A0=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E4=B8=8D=E7=BB=9F=E4=B8=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .runtime.env | 2 +- src/BowongModalFunctions/router/cache.py | 8 +++--- src/cluster/app.py | 4 +-- src/cluster/web.py | 36 ++++++++++++------------ 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.runtime.env b/.runtime.env index a31361e..7157840 100644 --- a/.runtime.env +++ b/.runtime.env @@ -1,4 +1,4 @@ -MODAL_ENVIRONMENT=test +MODAL_ENVIRONMENT=dev modal_app_name=bowong-ai-video S3_mount_dir=/mntS3 S3_bucket_name=modal-media-cache diff --git a/src/BowongModalFunctions/router/cache.py b/src/BowongModalFunctions/router/cache.py index f1dd71a..8239ba4 100644 --- a/src/BowongModalFunctions/router/cache.py +++ b/src/BowongModalFunctions/router/cache.py @@ -359,7 +359,7 @@ async def s3_presign_upload(body: UploadPresignRequest) -> UploadPresignResponse """, dependencies=[Depends(verify_token)]) async def s3_presign_upload_multipart(body: UploadMultipartPresignRequest) -> UploadMultipartPresignResponse: chunk_count = body.parts_count - multipart_upload_response = client.create_multipart_upload(Bucket=config.S3_bucket_name, Key=body.key, + multipart_upload_response = client.create_multipart_upload(Bucket=config.S3_bucket_name, Key=f"upload/{body.key}", ContentType=body.content_type, ) upload_id = multipart_upload_response.get("UploadId") signed_urls = [] @@ -369,7 +369,7 @@ async def s3_presign_upload_multipart(body: UploadMultipartPresignRequest) -> Up signed_url = client.generate_presigned_url("upload_part", Params={ 'Bucket': config.S3_bucket_name, - 'Key': body.key, + 'Key': f"upload/{body.key}", 'PartNumber': i + 1, 'UploadId': upload_id, }, ExpiresIn=expires_in) @@ -378,14 +378,14 @@ async def s3_presign_upload_multipart(body: UploadMultipartPresignRequest) -> Up signed_completed_url = client.generate_presigned_url("complete_multipart_upload", Params={ 'Bucket': config.S3_bucket_name, - 'Key': body.key, + 'Key': f"upload/{body.key}", # 'PartNumber': chunk_count, 'UploadId': upload_id, }, ExpiresIn=expires_in) signed_list_url = client.generate_presigned_url("list_parts", Params={ 'Bucket': config.S3_bucket_name, - 'Key': body.key, + 'Key': f"upload/{body.key}", # 'PartNumber': chunk_count, 'UploadId': upload_id, }, ExpiresIn=expires_in) diff --git a/src/cluster/app.py b/src/cluster/app.py index 44af0a5..7fe365e 100644 --- a/src/cluster/app.py +++ b/src/cluster/app.py @@ -3,7 +3,7 @@ from BowongModalFunctions.models.settings.cluster import WorkerConfig from .video import app as media_app from .web import app as web_app from .ffmpeg_app import app as ffmpeg_app -from .openwebui import app as open_webui +# from .openwebui import app as open_webui # from .comfyui_v1 import app as comfyui_v1_app # from .comfyui_v2 import app as comfyui_v2_app @@ -16,6 +16,6 @@ app = modal.App(config.modal_app_name, app.include(media_app) app.include(ffmpeg_app) app.include(web_app) -app.include(open_webui) +# app.include(open_webui) # app.include(comfyui_v1_app) # app.include(comfyui_v2_app) diff --git a/src/cluster/web.py b/src/cluster/web.py index 7730d74..899b4eb 100644 --- a/src/cluster/web.py +++ b/src/cluster/web.py @@ -24,7 +24,7 @@ app = modal.App( with fastapi_image.imports(): from BowongModalFunctions.api import web_app from BowongModalFunctions.models.settings.cluster import WorkerConfig - from Douyin_TikTok_Download_API.tikhub_api import web_app_tikhub + # from Douyin_TikTok_Download_API.tikhub_api import web_app_tikhub config = WorkerConfig() @@ -41,24 +41,24 @@ with fastapi_image.imports(): }, ) @modal.concurrent(max_inputs=100) - @modal.asgi_app(custom_domains="https://modal-ffmpeg.bowong.cc") + @modal.asgi_app(custom_domains=["modal-ffmpeg.bowong.cc"]) def fastapi_webapp(): return web_app - # 短保持时间保证IP不停更换 - @app.function(scaledown_window=2, - secrets=[modal.Secret.from_name("cf-kv-secret"), ], - cloud="aws", - volumes={ - config.S3_mount_dir: modal.CloudBucketMount( - bucket_name=config.S3_bucket_name, - secret=modal.Secret.from_name("aws-s3-secret", - environment_name=config.modal_environment), - ), - }, - ) - @modal.concurrent(max_inputs=100) - @modal.asgi_app() - def fastapi_webapp_tikhub(): - return web_app_tikhub + # # 短保持时间保证IP不停更换 + # @app.function(scaledown_window=2, + # secrets=[modal.Secret.from_name("cf-kv-secret"), ], + # cloud="aws", + # volumes={ + # config.S3_mount_dir: modal.CloudBucketMount( + # bucket_name=config.S3_bucket_name, + # secret=modal.Secret.from_name("aws-s3-secret", + # environment_name=config.modal_environment), + # ), + # }, + # ) + # @modal.concurrent(max_inputs=100) + # @modal.asgi_app() + # def fastapi_webapp_tikhub(): + # return web_app_tikhub