Spaces:
Running
Running
Update spark_startup.py
Browse files- spark_startup.py +19 -9
spark_startup.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
"""
|
2 |
Flare – Spark startup notifier
|
3 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4 |
-
Projeler açılırken Spark
|
5 |
"""
|
6 |
|
7 |
from __future__ import annotations
|
@@ -13,15 +13,32 @@ import os
|
|
13 |
|
14 |
cfg = ConfigProvider.get()
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
17 |
def _select_live_version(p: ProjectConfig) -> VersionConfig | None:
|
18 |
"""Yayınlanmış en güncel versiyonu getir."""
|
19 |
published = [v for v in p.versions if v.published]
|
20 |
return max(published, key=lambda v: v.id) if published else None
|
21 |
|
22 |
-
|
23 |
def notify_startup():
|
24 |
spark_base = str(cfg.global_config.spark_endpoint).rstrip("/")
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
for p in cfg.projects:
|
27 |
if not p.enabled:
|
@@ -45,12 +62,6 @@ def notify_startup():
|
|
45 |
"fine_tune_zip": v.llm.fine_tune_zip,
|
46 |
}
|
47 |
|
48 |
-
# Hugging Face token'ı ortam değişkeninden al
|
49 |
-
spark_token = os.getenv("SPARK_TOKEN")
|
50 |
-
if not spark_token:
|
51 |
-
log("❌ SPARK_TOKEN environment variable is missing.")
|
52 |
-
return
|
53 |
-
|
54 |
headers = {
|
55 |
"Authorization": f"Bearer {spark_token}",
|
56 |
"Content-Type": "application/json"
|
@@ -66,6 +77,5 @@ def notify_startup():
|
|
66 |
except Exception as e:
|
67 |
log(f"⚠️ Spark startup failed: {e}")
|
68 |
|
69 |
-
|
70 |
def run_in_thread():
|
71 |
threading.Thread(target=notify_startup, daemon=True).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
|
|
|
13 |
|
14 |
cfg = ConfigProvider.get()
|
15 |
|
16 |
+
def _get_spark_token() -> Optional[str]:
|
17 |
+
"""Get Spark token based on work_mode"""
|
18 |
+
if cfg.global_config.is_cloud_mode():
|
19 |
+
# Cloud mode - use HuggingFace Secrets
|
20 |
+
token = os.getenv("SPARK_TOKEN")
|
21 |
+
if not token:
|
22 |
+
log("❌ SPARK_TOKEN not found in HuggingFace Secrets!")
|
23 |
+
return token
|
24 |
+
else:
|
25 |
+
# On-premise mode - use .env file
|
26 |
+
from dotenv import load_dotenv
|
27 |
+
load_dotenv()
|
28 |
+
return os.getenv("SPARK_TOKEN")
|
29 |
|
30 |
def _select_live_version(p: ProjectConfig) -> VersionConfig | None:
|
31 |
"""Yayınlanmış en güncel versiyonu getir."""
|
32 |
published = [v for v in p.versions if v.published]
|
33 |
return max(published, key=lambda v: v.id) if published else None
|
34 |
|
|
|
35 |
def notify_startup():
|
36 |
spark_base = str(cfg.global_config.spark_endpoint).rstrip("/")
|
37 |
+
spark_token = _get_spark_token()
|
38 |
+
|
39 |
+
if not spark_token:
|
40 |
+
log("⚠️ SPARK_TOKEN not configured. Skipping Spark startup notification.")
|
41 |
+
return
|
42 |
|
43 |
for p in cfg.projects:
|
44 |
if not p.enabled:
|
|
|
62 |
"fine_tune_zip": v.llm.fine_tune_zip,
|
63 |
}
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
headers = {
|
66 |
"Authorization": f"Bearer {spark_token}",
|
67 |
"Content-Type": "application/json"
|
|
|
77 |
except Exception as e:
|
78 |
log(f"⚠️ Spark startup failed: {e}")
|
79 |
|
|
|
80 |
def run_in_thread():
|
81 |
threading.Thread(target=notify_startup, daemon=True).start()
|