Commit f8b12362 authored by 郭阔's avatar 郭阔

feat(keepalive): 撞墙即邮件告警(6小时节流),提示人工过滑块恢复

parent 6fc2dbb4
......@@ -34,3 +34,23 @@ export CDP_PROFILE_OVERRIDE="$PROFILE"
export NH_LOCK_DIR="$WORK_DIR/runlocks"
export NH_KEEPALIVE_STATUS="${LOG_DIR:-$WORK_DIR/logs}/${SITE}.keepalive.json"
node "$SKILL_DIR/scripts/keepalive.js"
_rc=$?
# 撞墙告警(exit 3):邮件提醒人工过一次滑块;6 小时节流,避免每小时重复轰炸
if [ "$_rc" = 3 ] && [ -x "$HERE/notify-mail.sh" ]; then
_alert_ts="$LOG_DIR/${SITE}.wall-alert.ts"
_last="$(cat "$_alert_ts" 2>/dev/null || echo 0)"
_now="$(date +%s)"
if [ $(( _now - _last )) -ge 21600 ]; then
_conf_dir="${CONF_DIR:-$(nh_default_conf_dir "$WORK_DIR")}"
_mail_to="$(sed -n 's/^MAIL_TO=//p' "$_conf_dir/default.conf" 2>/dev/null | head -1)"
if [ -n "$_mail_to" ]; then
printf 'Reuters 反爬墙(DataDome)已触发,自动保温访问无法自愈,采集将持续失败直到人工恢复。\n\n恢复方法(1 分钟):面板 站点登录 → reuters 人工登录,完成一次滑块验证即可。\n\n最近检测:\n%s\n' \
"$(cat "$NH_KEEPALIVE_STATUS" 2>/dev/null)" \
| "$HERE/notify-mail.sh" "$_mail_to" "[News Harvester] ⚠️ reuters 撞反爬墙,需人工过一次滑块" \
&& echo "$_now" > "$_alert_ts" \
&& echo "keepalive: 已发送撞墙告警邮件(6 小时内不重复)"
fi
fi
fi
exit "$_rc"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment