Skip to content

Commit

Permalink
change loglevel and fix granian on linux (#4012)
Browse files Browse the repository at this point in the history
* change loglevel and fix it on linux

* run precommit

* fix that as well
  • Loading branch information
adhami3310 authored Sep 27, 2024
1 parent ae0f3f8 commit eea5dc1
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 6 deletions.
2 changes: 1 addition & 1 deletion reflex/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ class Config:
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
Expand Down
1 change: 1 addition & 0 deletions reflex/constants/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ class LogLevel(str, Enum):
"""The log levels."""

DEBUG = "debug"
DEFAULT = "default"
INFO = "info"
WARNING = "warning"
ERROR = "error"
Expand Down
20 changes: 18 additions & 2 deletions reflex/reflex.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

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
Expand Down Expand Up @@ -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:
Expand Down
11 changes: 8 additions & 3 deletions reflex/utils/exec.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

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

Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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:
Expand All @@ -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:
Expand Down

0 comments on commit eea5dc1

Please sign in to comment.