From 8f7c4d16987fd137f33f032c7da50a8b8905da71 Mon Sep 17 00:00:00 2001 From: albertfj114 Date: Sat, 28 Mar 2026 08:50:19 -0400 Subject: [PATCH] fix: write heartbeat file for Docker healthcheck --- scripts/scheduler.ts | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/scripts/scheduler.ts b/scripts/scheduler.ts index c622ad8..5f796b3 100644 --- a/scripts/scheduler.ts +++ b/scripts/scheduler.ts @@ -57,11 +57,6 @@ const PIPELINE_GROUPS: PipelineGroup[] = [ { name: 'kerknet-import', type: 'kerknet-import', config: {} }, { name: 'gottesdienstzeiten-import', type: 'gottesdienstzeiten-import', config: {} }, { name: 'masstimes-api-import', type: 'masstimes-api-import', config: {} }, - { name: 'buscarmisas-network-BR', type: 'buscarmisas-network-BR', config: {} }, - { name: 'buscarmisas-network-MX', type: 'buscarmisas-network-MX', config: {} }, - { name: 'buscarmisas-network-AR', type: 'buscarmisas-network-AR', config: {} }, - { name: 'buscarmisas-network-CO', type: 'buscarmisas-network-CO', config: {} }, - { name: 'buscarmisas-network-CL', type: 'buscarmisas-network-CL', config: {} }, ], }, { @@ -241,31 +236,6 @@ function getJobCommand(type: string, language?: string | null, config?: Record { cron.schedule('0 */6 * * *', () => cleanStaleJobs(), { timezone: 'UTC' }); log('Registered cron job: stale-job-cleanup (every 6h)'); - // Heartbeat every hour — logs cycle state + // Heartbeat every hour — logs cycle state and writes heartbeat file for Docker healthcheck cron.schedule('0 * * * *', () => { const currentGroup = cycleState.currentGroupIndex < PIPELINE_GROUPS.length ? PIPELINE_GROUPS[cycleState.currentGroupIndex].name @@ -785,6 +755,7 @@ async function main(): Promise { ? 'cooldown' : `group ${cycleState.currentGroupIndex + 1}/${PIPELINE_GROUPS.length} (${currentGroup})`; log(`Heartbeat: Cycle ${cycleState.cycleNumber + 1}, ${state}. ${jobs}`); + fs.writeFileSync(path.join(LOGS_DIR, 'scheduler.heartbeat'), new Date().toISOString()); }, { timezone: 'UTC' }); log('Registered cron job: heartbeat (hourly)');