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
This commit is contained in:
Lan
2025-12-18 23:08:40 +08:00
parent 9a29c998a8
commit 53183138b4
3 changed files with 8 additions and 7 deletions
+2
View File
@@ -66,6 +66,8 @@ DEFAULT_CONFIG = {
"themesSelect": "themes/2024",
"errorMinute": 1,
"errorCount": 1,
"workers": 1,
"host": "::",
"port": 12345,
"showAdminAddr": 0,
"robotsText": "User-agent: *\nDisallow: /",
+1
View File
@@ -9,6 +9,7 @@ import random
import re
import string
import time
from core.settings import settings
+5 -7
View File
@@ -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
)