change loglevel and fix granian on linux (#4012)

* change loglevel and fix it on linux

* run precommit

* fix that as well
This commit is contained in:
Khaleel Al-Adhami 2024-09-26 21:54:03 -07:00 committed by GitHub
parent ae0f3f820e
commit eea5dc1918
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 28 additions and 6 deletions

View File

@ -158,7 +158,7 @@ class Config(Base):
app_name: str
# The log level to use.
loglevel: constants.LogLevel = constants.LogLevel.INFO
loglevel: constants.LogLevel = constants.LogLevel.DEFAULT
# The port to run the frontend on. NOTE: When running in dev mode, the next available port will be used if this is taken.
frontend_port: int = constants.DefaultPorts.FRONTEND_PORT

View File

@ -173,6 +173,7 @@ class LogLevel(str, Enum):
"""The log levels."""
DEBUG = "debug"
DEFAULT = "default"
INFO = "info"
WARNING = "warning"
ERROR = "error"

View File

@ -15,6 +15,7 @@ from reflex_cli.utils import dependency
from reflex import constants
from reflex.config import get_config
from reflex.constants.base import LogLevel
from reflex.custom_components.custom_components import custom_components_cli
from reflex.state import reset_disk_state_manager
from reflex.utils import console, redir, telemetry
@ -245,15 +246,30 @@ def _run(
setup_frontend(Path.cwd())
commands.append((frontend_cmd, Path.cwd(), frontend_port, backend))
# If no loglevel is specified, set the subprocesses loglevel to WARNING.
subprocesses_loglevel = (
loglevel if loglevel != LogLevel.DEFAULT else LogLevel.WARNING
)
# In prod mode, run the backend on a separate thread.
if backend and env == constants.Env.PROD:
commands.append((backend_cmd, backend_host, backend_port, loglevel, frontend))
commands.append(
(
backend_cmd,
backend_host,
backend_port,
subprocesses_loglevel,
frontend,
)
)
# Start the frontend and backend.
with processes.run_concurrently_context(*commands):
# In dev mode, run the backend on the main thread.
if backend and env == constants.Env.DEV:
backend_cmd(backend_host, int(backend_port), loglevel, frontend)
backend_cmd(
backend_host, int(backend_port), subprocesses_loglevel, frontend
)
# The windows uvicorn bug workaround
# https://github.com/reflex-dev/reflex/issues/2335
if constants.IS_WINDOWS and exec.frontend_process:

View File

@ -16,6 +16,7 @@ import psutil
from reflex import constants
from reflex.config import get_config
from reflex.constants.base import LogLevel
from reflex.utils import console, path_ops
from reflex.utils.prerequisites import get_web_dir
@ -201,7 +202,11 @@ def get_granian_target():
Returns:
The Granian target for the backend.
"""
return get_app_module() + f".{constants.CompileVars.API}"
import reflex
app_module_path = Path(reflex.__file__).parent / "app_module_for_backend.py"
return f"{str(app_module_path)}:{constants.CompileVars.APP}.{constants.CompileVars.API}"
def run_backend(
@ -233,7 +238,7 @@ def run_backend(
run_uvicorn_backend(host, port, loglevel)
def run_uvicorn_backend(host, port, loglevel):
def run_uvicorn_backend(host, port, loglevel: LogLevel):
"""Run the backend in development mode using Uvicorn.
Args:
@ -253,7 +258,7 @@ def run_uvicorn_backend(host, port, loglevel):
)
def run_granian_backend(host, port, loglevel):
def run_granian_backend(host, port, loglevel: LogLevel):
"""Run the backend in development mode using Granian.
Args: