Spaces:
Paused
Paused
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()
|
|
|