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:
@@ -66,6 +66,8 @@ DEFAULT_CONFIG = {
|
|||||||
"themesSelect": "themes/2024",
|
"themesSelect": "themes/2024",
|
||||||
"errorMinute": 1,
|
"errorMinute": 1,
|
||||||
"errorCount": 1,
|
"errorCount": 1,
|
||||||
|
"workers": 1,
|
||||||
|
"host": "::",
|
||||||
"port": 12345,
|
"port": 12345,
|
||||||
"showAdminAddr": 0,
|
"showAdminAddr": 0,
|
||||||
"robotsText": "User-agent: *\nDisallow: /",
|
"robotsText": "User-agent: *\nDisallow: /",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import string
|
import string
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from core.settings import settings
|
from core.settings import settings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,26 +4,24 @@
|
|||||||
# @Software: PyCharm
|
# @Software: PyCharm
|
||||||
import asyncio
|
import asyncio
|
||||||
import time
|
import time
|
||||||
|
from contextlib import asynccontextmanager
|
||||||
|
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
|
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.responses import HTMLResponse
|
from fastapi.responses import HTMLResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
from tortoise import Tortoise
|
||||||
from tortoise.contrib.fastapi import register_tortoise
|
from tortoise.contrib.fastapi import register_tortoise
|
||||||
|
|
||||||
|
from apps.admin.views import admin_api
|
||||||
from apps.base.models import KeyValue
|
from apps.base.models import KeyValue
|
||||||
from apps.base.utils import ip_limit
|
from apps.base.utils import ip_limit
|
||||||
from apps.base.views import share_api, chunk_api
|
from apps.base.views import share_api, chunk_api
|
||||||
from apps.admin.views import admin_api
|
|
||||||
from core.database import init_db
|
from core.database import init_db
|
||||||
|
from core.logger import logger
|
||||||
from core.response import APIResponse
|
from core.response import APIResponse
|
||||||
from core.settings import data_root, settings, BASE_DIR, DEFAULT_CONFIG
|
from core.settings import data_root, settings, BASE_DIR, DEFAULT_CONFIG
|
||||||
from core.tasks import delete_expire_files, clean_incomplete_uploads
|
from core.tasks import delete_expire_files, clean_incomplete_uploads
|
||||||
from core.logger import logger
|
|
||||||
|
|
||||||
from contextlib import asynccontextmanager
|
|
||||||
from tortoise import Tortoise
|
|
||||||
|
|
||||||
|
|
||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
@@ -150,5 +148,5 @@ if __name__ == "__main__":
|
|||||||
import uvicorn
|
import uvicorn
|
||||||
|
|
||||||
uvicorn.run(
|
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
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user