demo.launch for gradio web
Browse files
app.py
CHANGED
|
@@ -51,20 +51,33 @@ def build_allowed_paths() -> list[str]:
|
|
| 51 |
return deduped
|
| 52 |
|
| 53 |
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
ensure_media_dirs()
|
| 56 |
start_timeout_monitor()
|
| 57 |
-
|
| 58 |
os.environ.setdefault("ROBOMME_TEMP_DEMOS_DIR", str(TEMP_DEMOS_DIR))
|
| 59 |
-
|
| 60 |
|
| 61 |
-
|
| 62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
demo.launch(
|
| 64 |
server_name="0.0.0.0",
|
| 65 |
server_port=int(os.getenv("PORT", "7860")),
|
| 66 |
allowed_paths=allowed_paths,
|
| 67 |
-
|
| 68 |
)
|
| 69 |
|
| 70 |
|
|
|
|
| 51 |
return deduped
|
| 52 |
|
| 53 |
|
| 54 |
+
_APP_BOOTSTRAPPED = False
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
def bootstrap_runtime() -> None:
|
| 58 |
+
"""Initialize runtime side effects once per process."""
|
| 59 |
+
global _APP_BOOTSTRAPPED
|
| 60 |
+
if _APP_BOOTSTRAPPED:
|
| 61 |
+
return
|
| 62 |
+
|
| 63 |
ensure_media_dirs()
|
| 64 |
start_timeout_monitor()
|
|
|
|
| 65 |
os.environ.setdefault("ROBOMME_TEMP_DEMOS_DIR", str(TEMP_DEMOS_DIR))
|
| 66 |
+
_APP_BOOTSTRAPPED = True
|
| 67 |
|
| 68 |
+
|
| 69 |
+
bootstrap_runtime()
|
| 70 |
+
demo = create_ui_blocks()
|
| 71 |
+
demo.queue(default_concurrency_limit=2)
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
def main() -> None:
|
| 75 |
+
allowed_paths = build_allowed_paths()
|
| 76 |
demo.launch(
|
| 77 |
server_name="0.0.0.0",
|
| 78 |
server_port=int(os.getenv("PORT", "7860")),
|
| 79 |
allowed_paths=allowed_paths,
|
| 80 |
+
ssr_mode=False,
|
| 81 |
)
|
| 82 |
|
| 83 |
|