From 59ec83e480dd11fbc89a027adbf3e4858be27e14 Mon Sep 17 00:00:00 2001 From: Dmitry Meyer Date: Fri, 27 Mar 2026 09:53:20 +0000 Subject: [PATCH] [Internal] Don't reload server on cli package changes --- src/dstack/_internal/cli/commands/server.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dstack/_internal/cli/commands/server.py b/src/dstack/_internal/cli/commands/server.py index 99229f6a30..a9040274dd 100644 --- a/src/dstack/_internal/cli/commands/server.py +++ b/src/dstack/_internal/cli/commands/server.py @@ -1,5 +1,7 @@ import argparse import os +from pathlib import Path +from typing import Optional from dstack._internal import settings from dstack._internal.cli.commands import BaseCommand @@ -81,11 +83,21 @@ def _command(self, args: argparse.Namespace): uvicorn_log_level = os.getenv("DSTACK_SERVER_UVICORN_LOG_LEVEL", "ERROR").lower() reload_disabled = os.getenv("DSTACK_SERVER_RELOAD_DISABLED") is not None + reload = settings.DSTACK_VERSION is None and not reload_disabled + reload_excludes: Optional[list[str]] = None + if reload: + # Don't reload on dstack._internal.cli package changes + for parent in Path(__file__).parents: + if parent.name == "cli": + reload_excludes = [str(parent)] + break + uvicorn.run( # type: ignore[unbound-variable] "dstack._internal.server.main:app", host=args.host, port=args.port, - reload=settings.DSTACK_VERSION is None and not reload_disabled, + reload=reload, + reload_excludes=reload_excludes, log_level=uvicorn_log_level, workers=1, )