移除 Bark 推送通知模块及相关依赖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@ from datetime import date
|
||||
from fastapi import FastAPI, HTTPException, Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
from . import contracts, fetcher, notifier, scorer, storage
|
||||
from . import contracts, fetcher, scorer, storage
|
||||
|
||||
app = FastAPI(title="期货数据采集与打分服务")
|
||||
|
||||
@@ -50,14 +50,6 @@ def run_pipeline(req: RunRequest):
|
||||
result = scorer.score_daily(df, req.trade_date)
|
||||
storage.save_score(result)
|
||||
|
||||
push_title = f"{result.ts_code.split('.')[0]} {result.trade_date}"
|
||||
push_body = (
|
||||
f"综合 {result.composite:.1f}\n"
|
||||
f"短期 {result.short_term:.1f} | 中期 {result.medium_term:.1f} | 长期 {result.long_term:.1f}\n"
|
||||
f"{result.signal}"
|
||||
)
|
||||
notifier.push_bark(push_title, push_body)
|
||||
|
||||
return RunResponse(
|
||||
ts_code=result.ts_code,
|
||||
trade_date=result.trade_date,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from . import contracts, fetcher, notifier, scorer, storage
|
||||
from . import contracts, fetcher, scorer, storage
|
||||
|
||||
|
||||
def run(ts_code: str, trade_date: Optional[str] = None) -> int:
|
||||
@@ -63,14 +63,6 @@ def run(ts_code: str, trade_date: Optional[str] = None) -> int:
|
||||
|
||||
print(f"\n[OK] 数据已持久化到 PostgreSQL")
|
||||
|
||||
push_title = f"{result.ts_code.split('.')[0]} {result.trade_date}"
|
||||
push_body = (
|
||||
f"综合 {result.composite:.1f}\n"
|
||||
f"短期 {result.short_term:.1f} | 中期 {result.medium_term:.1f} | 长期 {result.long_term:.1f}\n"
|
||||
f"{result.signal}"
|
||||
)
|
||||
if notifier.push_bark(push_title, push_body):
|
||||
print("[Bark] 推送成功")
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
import os
|
||||
from urllib.parse import quote
|
||||
|
||||
import requests
|
||||
|
||||
DEFAULT_BARK_KEY = "RvdtHq4py2avatt4AFJn9a"
|
||||
BARK_BASE_URL = "https://api.day.app"
|
||||
|
||||
|
||||
def push_bark(title: str, body: str, key: str | None = None, timeout: float = 15.0, retries: int = 1) -> bool:
|
||||
bark_key = key or os.environ.get("BARK_KEY") or DEFAULT_BARK_KEY
|
||||
url = f"{BARK_BASE_URL}/{bark_key}/{quote(title, safe='')}/{quote(body, safe='')}"
|
||||
|
||||
last_err: Exception | None = None
|
||||
for attempt in range(retries + 1):
|
||||
try:
|
||||
resp = requests.get(url, timeout=timeout)
|
||||
except requests.RequestException as e:
|
||||
last_err = e
|
||||
continue
|
||||
|
||||
if resp.status_code == 200:
|
||||
return True
|
||||
print(f"[WARN] Bark 推送返回非 200: {resp.status_code} {resp.text[:120]}")
|
||||
return False
|
||||
|
||||
print(f"[WARN] Bark 推送失败: {last_err}")
|
||||
return False
|
||||
Reference in New Issue
Block a user