/** * check-hibernation.js * * 检查当前是否在天眼休眠期内 * * 休眠规则(从天眼治理层配置读取): * - 周休眠:每周六 20:00 ~ 00:00 CST(4小时) * - 日休眠:每日 04:00 ~ 04:10 CST(默认窗口) * * 对于生命线任务:输出提示但不阻止执行 * 对于普通任务:输出提示并建议延迟 * * 守护: PER-ZY001 铸渊 * 系统: SYS-GLW-0001 * 主控: TCS-0002∞ 冰朔 */ function isInHibernation() { const now = new Date(); // 转换为北京时间(UTC+8),使用 UTC 偏移计算避免 locale 差异 const utcMs = now.getTime() + now.getTimezoneOffset() * 60 * 1000; const cst = new Date(utcMs + 8 * 60 * 60 * 1000); const day = cst.getDay(); // 0=周日, 6=周六 const hour = cst.getHours(); const minute = cst.getMinutes(); // 周休眠:周六 20:00 ~ 周日 00:00 if (day === 6 && hour >= 20) { return { hibernating: true, type: 'weekly', endsAt: '周日 00:00 CST' }; } // 日休眠:每日 04:00 ~ 04:10(默认窗口) if (hour === 4 && minute < 10) { return { hibernating: true, type: 'daily', endsAt: '04:10 CST' }; } return { hibernating: false }; } module.exports = { isInHibernation };