İçeriğe atla
ÖzelliklerFiyatlandırmaİş OrtaklığıBlogYardımHakkımızdaİletişim
BaşlaGiriş Yap
Bloga Dön
industry2026-05-2312 dk okuma

Dashboardum 45 saniyede aciliyor — pos_sync_queue 287k + qr_scan_events 1.8 milyon row, prune cron yoktu

Bodrum Yalikavak sahil restorani + 12 oda butik otel sahibi 44 yasinda Hasan, iki yildir thMenu Diamond. Tatil sezonu acilinca dashboard Raporlar sayfasi 45-50 saniye bos ekran, POS sync 2-3 dakika delay, QR scan analytics 60s timeout. thMenu support 4 katmanli forensik: (1) D1 quota throttle? Hasan ayda 3M reads, quota cok altinda; (2) Cloudflare regional outage? Status pagede temiz; (3) Subscription downgrade? Diamond aktif. (4) D1 query latency log: pos_sync_queue COUNT(*) 12.4s, qr_scan_events GROUP BY 33s, pos_sync_queue JOIN order_items 28s. Table sizes: pos_sync_queue 287,184 row (success 251k + dead 35k), qr_scan_events 1,847,692 row (12mo+ 1M dead weight). auto-prune.ts had pruneOldOrders + pruneOldFeedback + pruneCronIdempotency + pruneStripeWebhookEvents — prunePosSyncQueue + pruneQrScanEvents YOKtu. Launch-tan beri 2 yildir prune edilmemis tablolar. **PR #660 batch X F5** fix: iki yeni cron — prunePosSyncQueue (90d retention status IN success/dead) + pruneQrScanEvents (12mo retention). cloudflare/src/index.ts 04:00 UTC dispatcher slot a wire landi. Idempotent DELETE BATCH_SIZE=1000 loop. Plus migration-drift-check.ts EXPECTED_TABLES e pw_failures (0076) + ai_quota_usage (0079) eklendi — fresh deploy migrate olmamis ise Sentry alert. Hasan support manual backfill calistirdi: 5dk sonra dashboard 1.2s, POS sync 200ms, QR analytics 600ms. Pattern: yeni D1 tablo shipped olunca AYNI PR da auto-prune fonksiyonu + cron scheduling + drift-check entry eklenmeli — deferred prune sonradan gradual dashboard slowdown garantisi.

th

thMenu Ekibi

thmenu.com

Faydalı buldunuz mu? Paylaşın.