Commit 8c6190e1 by luoqi

fix(cron): use || not ?? for env fallback (empty string also = unset)

`process.env.X ?? 'default'` 只兜 undefined,不兜空字符串。
.env 里 `PAC_SYNC_HOURLY_CRON=` 空值会绕过兜底,直接传给 cron 解析器
报 'Too few fields' 启动崩溃。改成 || 兼容两种 'unset' 表达。

4 处:stale-scan / dw-lag-monitor / sync-incremental / sync.service
parent ff6dcfbd
......@@ -50,7 +50,7 @@ export class SyncService {
*
* 事件驱动主路径(秒级响应)由 pipeline-dispatcher 入队 persona-recompute,本 cron 只是兜底拉数据。
*/
@Cron(process.env.PAC_SYNC_HOURLY_CRON ?? '0 0 31 12 *' /* never — pull 通道未启用 */, {
@Cron(process.env.PAC_SYNC_HOURLY_CRON || '0 0 31 12 *' /* never — pull 通道未启用 */, {
name: 'sync-scheduled-tick',
})
async runScheduledForAll(): Promise<void> {
......
......@@ -27,7 +27,7 @@ export class DwLagMonitorService {
/// PAC_LAG_MONITOR_CRON:
/// 不设 → 不跑(local 默认)
/// '0 * * * *' → 生产 / staging 推荐(每小时检查)
@Cron(process.env.PAC_LAG_MONITOR_CRON ?? '0 0 31 12 *' /* never — env not set */, {
@Cron(process.env.PAC_LAG_MONITOR_CRON || '0 0 31 12 *' /* never — env not set */, {
name: 'dw-lag-monitor',
})
async checkLag(): Promise<void> {
......
......@@ -35,7 +35,7 @@ export class StaleScanService {
*
* 量级估算:5 家试点 30 万患者,扫一次约 1-5 秒,enqueue 部分(预期 < 1% stale)。
*/
@Cron(process.env.PAC_STALE_SCAN_CRON ?? '0 0 31 12 *' /* never — env not set */, {
@Cron(process.env.PAC_STALE_SCAN_CRON || '0 0 31 12 *' /* never — env not set */, {
name: 'persona-stale-scan',
})
async scanAndEnqueueStale(): Promise<void> {
......
......@@ -42,7 +42,7 @@ export class SyncIncrementalSchedulerService {
/// '30 2 * * *' → 生产推荐(DW 02:00 全量刷新后)
/// '30 3 * * *' → staging 错峰
/// 详见 .env.example
@Cron(process.env.PAC_INCREMENTAL_CRON ?? '0 0 31 12 *' /* never — env not set */, {
@Cron(process.env.PAC_INCREMENTAL_CRON || '0 0 31 12 *' /* never — env not set */, {
name: 'sync-incremental-daily',
})
async runDaily(): Promise<void> {
......
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