File tree Expand file tree Collapse file tree 3 files changed +12
-2
lines changed
src/dstack/_internal/server
background/scheduled_tasks Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 5252 volumes ,
5353)
5454from dstack ._internal .server .services .config import ServerConfigManager
55- from dstack ._internal .server .services .gateways import gateway_connections_pool , init_gateways
55+ from dstack ._internal .server .services .gateways import gateway_connections_pool
5656from dstack ._internal .server .services .locking import advisory_lock_ctx
5757from dstack ._internal .server .services .projects import get_or_create_default_project
5858from dstack ._internal .server .services .proxy .deps import ServerProxyDependencyInjector
@@ -157,7 +157,7 @@ async def lifespan(app: FastAPI):
157157 {"show_path" : False },
158158 )
159159 await server_config_manager .apply_config (session = session , owner = admin )
160- await init_gateways ( session = session )
160+
161161 update_default_project (
162162 project_name = DEFAULT_PROJECT_NAME ,
163163 url = SERVER_URL ,
Original file line number Diff line number Diff line change 11from apscheduler .schedulers .asyncio import AsyncIOScheduler
2+ from apscheduler .triggers .date import DateTrigger
23from apscheduler .triggers .interval import IntervalTrigger
34
45from dstack ._internal .server import settings
56from dstack ._internal .server .background .scheduled_tasks .events import delete_events
67from dstack ._internal .server .background .scheduled_tasks .gateways import (
8+ init_gateways_in_background ,
79 process_gateways_connections ,
810)
911from dstack ._internal .server .background .scheduled_tasks .idle_volumes import (
@@ -34,6 +36,8 @@ def start_scheduled_tasks() -> AsyncIOScheduler:
3436 Start periodic tasks triggered by `apscheduler` at specific times/intervals.
3537 Suitable for tasks that run infrequently and don't need to lock rows for a long time.
3638 """
39+ # DateTrigger() to init gateways immediately.
40+ _scheduler .add_job (init_gateways_in_background , DateTrigger (), max_instances = 1 )
3741 _scheduler .add_job (process_probes , IntervalTrigger (seconds = 3 , jitter = 1 ))
3842 _scheduler .add_job (collect_metrics , IntervalTrigger (seconds = 10 ), max_instances = 1 )
3943 _scheduler .add_job (delete_metrics , IntervalTrigger (minutes = 5 ), max_instances = 1 )
Original file line number Diff line number Diff line change 1010from dstack ._internal .server .services .gateways import (
1111 GatewayConnection ,
1212 gateway_connections_pool ,
13+ init_gateways ,
1314)
1415from dstack ._internal .server .services .locking import advisory_lock_ctx
1516from dstack ._internal .utils .logging import get_logger
1617
1718logger = get_logger (__name__ )
1819
1920
21+ async def init_gateways_in_background ():
22+ async with get_session_ctx () as session :
23+ await init_gateways (session = session )
24+
25+
2026async def process_gateways_connections ():
2127 await _remove_inactive_connections ()
2228 await _process_active_connections ()
You can’t perform that action at this time.
0 commit comments