fixed bugs
هذا الالتزام موجود في:
@@ -48,6 +48,7 @@ CHECK_INTERVAL_SECONDS = 60 # كل دقيقة
|
||||
DATA_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
JSONL_PATH = os.path.join(DATA_DIR, "data.jsonl")
|
||||
CSV_PATH = os.path.join(DATA_DIR, "data.csv")
|
||||
JS_PATH = os.path.join(DATA_DIR, "data.js")
|
||||
|
||||
CSV_FIELDS = [
|
||||
"timestamp",
|
||||
@@ -285,10 +286,31 @@ def save_csv(record: dict):
|
||||
writer.writerow(row)
|
||||
|
||||
|
||||
def save_js():
|
||||
"""تحديث data.js تلقائياً لإتاحتها للمتصفح دون الحاجة لـ fetch/upload"""
|
||||
if not os.path.isfile(JSONL_PATH):
|
||||
return
|
||||
try:
|
||||
records = []
|
||||
with open(JSONL_PATH, "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if line:
|
||||
try:
|
||||
records.append(json.loads(line))
|
||||
except Exception:
|
||||
pass
|
||||
with open(JS_PATH, "w", encoding="utf-8") as f:
|
||||
f.write(f"window.MONITOR_DATA = {json.dumps(records, ensure_ascii=False)};\n")
|
||||
except Exception as e:
|
||||
print(f"تنبيه: تعذّر تحديث data.js: {e}", flush=True)
|
||||
|
||||
|
||||
def run_once():
|
||||
record = collect_metrics()
|
||||
save_jsonl(record)
|
||||
save_csv(record)
|
||||
save_js()
|
||||
status = "UP" if record["http"]["up"] else "DOWN"
|
||||
print(
|
||||
f"[{record['timestamp']}] HTTP={status} "
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم