Dashboard Sync — État des crons

Crons exécutés chaque nuit à 3h00 Bangkok (20h UTC). Les données du dashboard sont pré-calculées — aucun appel GA4/GSC en direct pendant la navigation.

État actuel par source

🔍 GSC

Google Search Console — clics, positions, pages

sync détectée
Dernière sync

il y a 13h

Durée

—

Période

Données jusqu'au 2026-11-10

📊 GA4

Google Analytics 4 — sessions, conversions par pays/source

sync détectée
Dernière sync

il y a 13h

Durée

—

🎯 Conversion

Données GA4 enrichies + tunnel + backoffice pour l'onglet Overview

✓ succès
Dernière sync

il y a 13h

Durée

2.3s

Lignes insérées

929

Période

Données jusqu'au 2026-11-12

2026-11-13 03:20 BKK

🚇 Tunnel

Snapshot complet du tunnel de devis (16 requêtes pré-calculées)

✗ erreur
Dernière sync

il y a 13h

Durée

1.8s

Période

Données jusqu'au 2026-06-28

2026-11-13 03:25 BKK

null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint

⚡ PageSpeed

PSI scores + statut HTTP de toutes les pages GSC

sync détectée
Dernière sync

il y a 12h

Durée

—

🕒 Planning des crons (à configurer dans Coolify)

SourceCommandeCron (UTC)Heure Bangkok
GSCnpm run cron:gsc0 20 * * *03:00 BKK
GA4npm run cron:ga45 20 * * *03:05 BKK
Conversionnpm run cron:conversion20 20 * * *03:20 BKK
Tunnelnpm run cron:tunnel25 20 * * *03:25 BKK
PageSpeednpm run cron:pagespeed0 21 * * *04:00 BKK

Historique des 30 dernières exécutions

SourceStatutDémarré (Bangkok)DuréeLignesErreur
🚇 Tunnel✗ erreur2026-11-13 03:25 BKK1.8s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-13 03:20 BKK2.3s929—
🚇 Tunnel✗ erreur2026-11-12 03:25 BKK1.7s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-12 03:20 BKK2.3s925—
🚇 Tunnel✗ erreur2026-11-11 03:25 BKK1.5s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-11 03:20 BKK2.0s923—
🚇 Tunnel✗ erreur2026-11-10 03:25 BKK2.0s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-10 03:20 BKK3.0s923—
🚇 Tunnel✗ erreur2026-11-09 03:25 BKK1.5s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-09 03:20 BKK2.1s921—
🚇 Tunnel✗ erreur2026-11-08 03:25 BKK1.5s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-08 03:20 BKK1.9s916—
🚇 Tunnel✗ erreur2026-11-07 03:25 BKK1.8s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-07 03:20 BKK5.7s911—
🚇 Tunnel✗ erreur2026-11-06 03:25 BKK1.6s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-06 03:20 BKK2.4s909—
🚇 Tunnel✗ erreur2026-11-05 03:25 BKK1.4s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-05 03:20 BKK2.6s907—
🚇 Tunnel✗ erreur2026-11-04 03:25 BKK1.7s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-04 03:20 BKK2.2s899—
🚇 Tunnel✗ erreur2026-11-03 03:25 BKK1.5s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-03 03:20 BKK3.6s893—
🚇 Tunnel✗ erreur2026-11-02 03:25 BKK1.6s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-02 03:20 BKK3.1s891—
🚇 Tunnel✗ erreur2026-11-01 03:25 BKK1.8s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-11-01 03:20 BKK1.3s889—
🚇 Tunnel✗ erreur2026-10-31 03:25 BKK1.4s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-10-31 03:20 BKK2.1s889—
🚇 Tunnel✗ erreur2026-10-30 03:25 BKK1.3s—null value in column "logicalStep" of relation "TunnelErrorRow" violates not-null constraint
🎯 Conversion✓ succès2026-10-30 03:20 BKK2.2s887—

🔧 Lancer manuellement

En production sur le serveur Coolify, ou en local avec npm run cron:<source>

Les scripts tournent côté serveur via POST /api/sync/run/[source]. La page se rafraîchit automatiquement après succès.