08 Penutup
Buktikan track ini selesai, hentikan pekerjaan lokal, dan pahami jalur scale-up ke produksi.
Bukti akhir
SELECT
(SELECT uniqExact(condition_id) FROM polymarket.markets FINAL) AS markets,
(SELECT count() FROM polymarket.price_ticks) AS ticks,
(SELECT count() FROM polymarket.trades_clean) AS trades,
(SELECT count() FROM polymarket.market_midpoints_1m) AS midpoint_minutes,
(SELECT max(event_at) FROM polymarket.price_ticks) AS newest_tick;Anda selesai ketika markets, ticks, dan midpoint_minutes lebih besar dari nol dan
newest_tick cocok dengan sesi ini. Feed live yang sepi secara sah bisa punya nol trade
yang direkonsiliasi; mode fixture selalu menghasilkan trade.
Yang Anda bangun
- discovery market publik tanpa kredensial;
- jalur WebSocket live dengan heartbeat, deteksi stall, reconnect, dan fallback BBO via REST;
- jalur trade publik yang direkonsiliasi dengan jendela waktu bertumpang dan ID deterministik;
- tabel ClickHouse bertipe yang dirancang seputar filter yang benar-benar dipakai;
- agregat midpoint quote per menit pada waktu insert; dan
- sebuah dashboard Cloud atau visualisasi SQL tersimpan yang setara.
Hentikan collector lokal
docker compose --env-file .env.polymarket downIni menghapus container stateless-nya. Data Cloud dan query tersimpan tetap ada.
Cleanup Cloud opsional
Jalankan ini hanya jika Anda tidak lagi menginginkan data workshop:
DROP DATABASE polymarket;Hapus atau idle-kan service Cloud melalui clickhousectl atau console sesuai
kebijakan organisasi Anda.
Bagaimana ini di-scale di produksi
Workshop ini menulis secara langsung karena sumbernya adalah API HTTP/WebSocket dan volumenya kecil. Jika relay produksi sudah mempublikasikan ke Kafka, Kinesis, Pub/Sub, atau stream lain yang didukung, gunakan ClickPipes untuk offset terkelola, pemetaan schema, backpressure, dan penanganan error. Jangan menambahkan broker semata agar workshop terlihat lebih terdistribusi.
Kembali ke katalog workshop atau bandingkan jalur ini dengan track AI SRE.