stream-fusion-better/stream_fusion/__main__.py
LimeDrive d12df0f4e8 feat(deploy): ajouter un fichier de configuration pour le déploiement scalable avec Traefik et PgBouncer
feat(logging): implémenter la suppression des fichiers de log obsolètes et ajuster la configuration des logs

feat(settings): modifier la structure des paramètres de configuration et ajouter un niveau de log TRACE

feat(admin): fusionner les pages de configuration TMDB et Indexeurs, et mettre à jour les titres et descriptions

fix(system): corriger les messages d'alerte concernant le redémarrage des paramètres système
2026-04-03 14:07:03 +02:00

58 lines
1.6 KiB
Python

import uvicorn
from stream_fusion.gunicorn_runner import GunicornApplication
from stream_fusion.logging_config import configure_logging
from stream_fusion.settings import settings
def main() -> None:
"""Entrypoint of the application."""
configure_logging()
if settings.reload:
uvicorn.run(
"stream_fusion.web.application:get_app",
workers=settings.workers_count,
host=settings.host,
port=settings.port,
reload=settings.reload,
reload_excludes=[
"*.pyc",
"*.log",
".git/*",
".vscode/*",
".kilo/*",
".material/*",
"tests/*",
"docs/*",
".venv/*",
".devcontainer/*",
".github/*",
"Dockerfile",
"config/*",
],
reload_includes=[
"*.py",
"*.html",
"*.css",
"*.js",
],
log_level=settings.log_level.value.lower(),
factory=True,
)
else:
GunicornApplication(
"stream_fusion.web.application:get_app",
host=settings.host,
port=settings.port,
workers=settings.workers_count,
timeout=settings.gunicorn_timeout,
factory=True,
accesslog="-",
access_log_format='%r "-" %s "-" %Tf',
loglevel=settings.log_level.value.lower(),
).run()
if __name__ == "__main__":
main()