#!/bin/bash
# 北京展览信息爬取 - 每日 9:00 定时任务
# 添加到 crontab: 0 9 * * * /root/.openclaw/workspace/travel/beijing-exhibitions/scripts/daily_cron.sh

set -e

WORKSPACE_DIR="/root/.openclaw/workspace/travel/beijing-exhibitions"
SCRIPTS_DIR="${WORKSPACE_DIR}/scripts"
LOG_DIR="${WORKSPACE_DIR}/logs"
PYTHON_SCRIPT="${SCRIPTS_DIR}/crawler.py"
HEARTBEAT_SCRIPT="${SCRIPTS_DIR}/heartbeat_check.py"

# 确保日志目录存在
mkdir -p "${LOG_DIR}"

# 日志文件
LOG_FILE="${LOG_DIR}/daily_$(date +%Y%m%d).log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')

echo "[${TIMESTAMP}] ========== 开始执行展览爬取任务 ==========" | tee -a "${LOG_FILE}"

# 执行爬虫脚本
cd "${SCRIPTS_DIR}"
python3 "${PYTHON_SCRIPT}" 2>&1 | tee -a "${LOG_FILE}"

CRAWL_EXIT_CODE=$?

if [ $CRAWL_EXIT_CODE -eq 0 ]; then
    echo "[${TIMESTAMP}] ✓ 爬虫执行成功" | tee -a "${LOG_FILE}"
    
    # 执行 heartbeat 检查
    echo "[${TIMESTAMP}] 执行 heartbeat 检查..." | tee -a "${LOG_FILE}"
    python3 "${HEARTBEAT_SCRIPT}" 2>&1 | tee -a "${LOG_FILE}"
    
    echo "[${TIMESTAMP}] ========== 任务执行完成 ==========" | tee -a "${LOG_FILE}"
else
    echo "[${TIMESTAMP}] ✗ 爬虫执行失败，退出码：${CRAWL_EXIT_CODE}" | tee -a "${LOG_FILE}"
    echo "[${TIMESTAMP}] ========== 任务执行失败 ==========" | tee -a "${LOG_FILE}"
fi

exit ${CRAWL_EXIT_CODE}
