Refresh report data (manual update)

This commit is contained in:
SHAREit
2026-08-27 11:40:28 +08:00
parent f62a78b8ca
commit 4ef5d5f1a7
3 changed files with 1 additions and 26 deletions
-1
View File
@@ -1 +0,0 @@
1
-17
View File
@@ -1,17 +0,0 @@
#!/bin/sh
set -eu
# 平台按 schedule.conf 每小时执行;脚本内部只在北京时间 11 点真正写入数据。
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
TMP_FILE="$SCRIPT_DIR/data.json.tmp"
OUTPUT_FILE="$SCRIPT_DIR/data.json"
rm -f "$TMP_FILE"
python3 "$SCRIPT_DIR/update_report_data.py" "$TMP_FILE" "$@"
if [ -f "$TMP_FILE" ]; then
mv "$TMP_FILE" "$OUTPUT_FILE"
echo "Updated $OUTPUT_FILE"
else
echo "Skipped: not the scheduled update hour"
fi
+1 -8
View File
@@ -23,8 +23,6 @@ CSV_URL = (
) )
TIMEZONE = ZoneInfo("Asia/Shanghai") TIMEZONE = ZoneInfo("Asia/Shanghai")
COUNTRIES = ["KZ", "UZ", "KG", "AM"] COUNTRIES = ["KZ", "UZ", "KG", "AM"]
# 平台只支持“每隔几小时”,因此按小时调度,仅在此时刻真正更新(Asia/Shanghai)
UPDATE_HOUR = 11
DATE_HEADERS = {"date"} DATE_HEADERS = {"date"}
GEO_HEADERS = {"geo", "country"} GEO_HEADERS = {"geo", "country"}
@@ -245,14 +243,9 @@ def build_payload(rows, now):
def main(): def main():
if len(sys.argv) < 2: if len(sys.argv) < 2:
raise SystemExit("用法: update_report_data.py <输出文件> [--force]") raise SystemExit("用法: update_report_data.py <输出文件>")
now = datetime.now(TIMEZONE) now = datetime.now(TIMEZONE)
forced = "--force" in sys.argv[2:]
if not forced and now.hour != UPDATE_HOUR:
print(f"SKIP {now:%Y-%m-%d %H:%M} 非 {UPDATE_HOUR}:00(Asia/Shanghai),不更新")
return
request = urllib.request.Request(CSV_URL, headers={"User-Agent": "AgentStage-Ozon-Report/2.0"}) request = urllib.request.Request(CSV_URL, headers={"User-Agent": "AgentStage-Ozon-Report/2.0"})
with urllib.request.urlopen(request, timeout=90) as response: with urllib.request.urlopen(request, timeout=90) as response:
text = response.read().decode("utf-8-sig") text = response.read().decode("utf-8-sig")