From 53183138b462cd42c27adc8cfacb87a982a3c59e Mon Sep 17 00:00:00 2001 From: Lan Date: Thu, 18 Dec 2025 23:08:40 +0800 Subject: [PATCH] feat(config): Add configurable workers and host settings - Add "workers" configuration option to DEFAULT_CONFIG with default value of 1 - Add "host" configuration option to DEFAULT_CONFIG with default value of "::" - Update uvicorn.run() to use settings.host and settings.workers instead of hardcoded values - Reorganize imports in main.py for better readability and consistency - Add blank line after time import in core/utils.py for PEP 8 compliance - Allow dynamic configuration of server workers and binding host address --- core/settings.py | 2 ++ core/utils.py | 1 + main.py | 12 +++++------- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/settings.py b/core/settings.py index 328e247..8770654 100644 --- a/core/settings.py +++ b/core/settings.py @@ -66,6 +66,8 @@ DEFAULT_CONFIG = { "themesSelect": "themes/2024", "errorMinute": 1, "errorCount": 1, + "workers": 1, + "host": "::", "port": 12345, "showAdminAddr": 0, "robotsText": "User-agent: *\nDisallow: /", diff --git a/core/utils.py b/core/utils.py index e1dcf70..8abe2d9 100644 --- a/core/utils.py +++ b/core/utils.py @@ -9,6 +9,7 @@ import random import re import string import time + from core.settings import settings diff --git a/main.py b/main.py index 639e430..bc34723 100644 --- a/main.py +++ b/main.py @@ -4,26 +4,24 @@ # @Software: PyCharm import asyncio import time +from contextlib import asynccontextmanager from fastapi import FastAPI - from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles +from tortoise import Tortoise from tortoise.contrib.fastapi import register_tortoise +from apps.admin.views import admin_api from apps.base.models import KeyValue from apps.base.utils import ip_limit from apps.base.views import share_api, chunk_api -from apps.admin.views import admin_api from core.database import init_db +from core.logger import logger from core.response import APIResponse from core.settings import data_root, settings, BASE_DIR, DEFAULT_CONFIG from core.tasks import delete_expire_files, clean_incomplete_uploads -from core.logger import logger - -from contextlib import asynccontextmanager -from tortoise import Tortoise @asynccontextmanager @@ -150,5 +148,5 @@ if __name__ == "__main__": import uvicorn uvicorn.run( - app="main:app", host="0.0.0.0", port=settings.port, reload=False, workers=1 + app="main:app", host=settings.host, port=settings.port, reload=False, workers=settings.workers )