MCPcopy
hub / github.com/reflex-dev/reflex / run_granian_backend

Function run_granian_backend

reflex/utils/exec.py:627–667  ·  view source on GitHub ↗

Run the backend in development mode using Granian. Args: host: The app host port: The app port loglevel: The log level.

(host: str, port: int, loglevel: LogLevel)

Source from the content-addressed store, hash-verified

625
626
627def run_granian_backend(host: str, port: int, loglevel: LogLevel):
628 """Run the backend in development mode using Granian.
629
630 Args:
631 host: The app host
632 port: The app port
633 loglevel: The log level.
634 """
635 console.debug("Using Granian for backend")
636
637 if environment.REFLEX_STRICT_HOT_RELOAD.get():
638 import multiprocessing
639
640 multiprocessing.set_start_method("spawn", force=True)
641
642 from granian.constants import Interfaces
643 from granian.log import LogLevels
644 from granian.server import Server as Granian
645 from reflex_base.environment import _load_dotenv_from_env
646
647 reset_dev_backend_reload_marker()
648 environment.REFLEX_DEV_BACKEND_RELOAD_ACTIVE.set(True)
649
650 granian_app = Granian(
651 target=get_app_instance_from_file(),
652 factory=True,
653 address=host,
654 port=port,
655 interface=Interfaces.ASGI,
656 log_level=LogLevels(loglevel.value),
657 reload=True,
658 reload_paths=get_reload_paths(),
659 reload_ignore_worker_failure=True,
660 reload_ignore_patterns=HOTRELOAD_IGNORE_PATTERNS,
661 reload_tick=100,
662 workers_kill_timeout=2,
663 )
664
665 granian_app.on_reload(_load_dotenv_from_env)
666
667 granian_app.serve()
668
669
670def run_backend_prod(

Callers 1

run_backendFunction · 0.85

Calls 7

get_reload_pathsFunction · 0.85
on_reloadMethod · 0.80
serveMethod · 0.80
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected