Spaces:
Building
Building
Update spark_startup.py
Browse files- spark_startup.py +10 -13
spark_startup.py
CHANGED
@@ -1,29 +1,25 @@
|
|
1 |
"""
|
2 |
Flare – Spark startup notifier
|
3 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4 |
-
|
5 |
"""
|
6 |
|
7 |
-
import
|
8 |
-
import time
|
9 |
from typing import Dict, Any
|
10 |
-
|
11 |
-
import requests
|
12 |
from utils import log
|
13 |
-
from config_provider import ConfigProvider,
|
14 |
|
15 |
cfg = ConfigProvider.get()
|
16 |
|
17 |
|
18 |
def _select_live_version(p: ProjectConfig) -> VersionConfig | None:
|
19 |
published = [v for v in p.versions if v.published]
|
20 |
-
if
|
21 |
-
return None
|
22 |
-
return max(published, key=lambda v: v.id)
|
23 |
|
24 |
|
25 |
def notify_startup():
|
26 |
-
|
27 |
for p in cfg.projects:
|
28 |
if not p.enabled:
|
29 |
continue
|
@@ -35,11 +31,13 @@ def notify_startup():
|
|
35 |
"project_name": p.name,
|
36 |
"version_id": v.id,
|
37 |
"general_prompt": v.general_prompt,
|
|
|
38 |
"llm": v.llm.model_dump(),
|
39 |
}
|
|
|
40 |
try:
|
41 |
log(f"🚀 Notifying Spark /startup for project '{p.name}' …")
|
42 |
-
r = requests.post(f"{
|
43 |
r.raise_for_status()
|
44 |
log(f"✅ Spark acknowledged startup ({r.status_code})")
|
45 |
except Exception as e:
|
@@ -47,5 +45,4 @@ def notify_startup():
|
|
47 |
|
48 |
|
49 |
def run_in_thread():
|
50 |
-
|
51 |
-
t.start()
|
|
|
1 |
"""
|
2 |
Flare – Spark startup notifier
|
3 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4 |
+
Projeler açılırken Spark’a /startup çağrısı yapar.
|
5 |
"""
|
6 |
|
7 |
+
from __future__ import annotations
|
8 |
+
import threading, time, requests
|
9 |
from typing import Dict, Any
|
|
|
|
|
10 |
from utils import log
|
11 |
+
from config_provider import ConfigProvider, ProjectConfig, VersionConfig
|
12 |
|
13 |
cfg = ConfigProvider.get()
|
14 |
|
15 |
|
16 |
def _select_live_version(p: ProjectConfig) -> VersionConfig | None:
|
17 |
published = [v for v in p.versions if v.published]
|
18 |
+
return max(published, key=lambda v: v.id) if published else None
|
|
|
|
|
19 |
|
20 |
|
21 |
def notify_startup():
|
22 |
+
spark_base = cfg.global_config.spark_endpoint.rstrip("/") # ← 🟢 tek “/”
|
23 |
for p in cfg.projects:
|
24 |
if not p.enabled:
|
25 |
continue
|
|
|
31 |
"project_name": p.name,
|
32 |
"version_id": v.id,
|
33 |
"general_prompt": v.general_prompt,
|
34 |
+
"cloud_token": cfg.global_config.get_plain_token(),
|
35 |
"llm": v.llm.model_dump(),
|
36 |
}
|
37 |
+
|
38 |
try:
|
39 |
log(f"🚀 Notifying Spark /startup for project '{p.name}' …")
|
40 |
+
r = requests.post(f"{spark_base}/startup", json=body, timeout=10)
|
41 |
r.raise_for_status()
|
42 |
log(f"✅ Spark acknowledged startup ({r.status_code})")
|
43 |
except Exception as e:
|
|
|
45 |
|
46 |
|
47 |
def run_in_thread():
|
48 |
+
threading.Thread(target=notify_startup, daemon=True).start()
|
|