PolymarketClickHouse Workshops

03 สตรีมข้อมูลสด · ผู้สอน

รันแบบสด รู้จักการลดระดับที่ปลอดภัย และสลับทั้งห้องไปใช้ fixture ให้ทันเวลา

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

ตารางเวลา

15 นาที เมื่อถึงนาทีที่ 10 ให้สลับผู้เรียนที่ถูกบล็อกหรือเจอตลาดเงียบไปใช้โหมด fixture

แนวการบรรยาย

  • WebSocket ให้ความทันที ไม่ใช่ความคงทนของข้อมูล
  • การเทรดจาก Data API กระทบยอดโดยมีช่วงเวลาทับกัน และ ID แบบ deterministic ทำให้รันซ้ำได้อย่างปลอดภัย
  • CLOB REST คอย keep BBO/spread ให้เป็นข้อมูลปัจจุบันระหว่างที่ socket เชื่อมต่อใหม่
  • degraded คือสถานะที่ตรงไปตรงมาและมีประโยชน์ ส่วน unhealthy หมายถึงการเขียนลง Cloud หรือทุกแหล่งข้อมูลค้างไม่อัปเดต

ปัญหาที่พบบ่อย

  • WebSocket handshake หมดเวลา: รอ last_book_fallback_at อย่ารีสตาร์ตวนซ้ำ
  • Health ตอบ 503: ตรวจสอบ reason, queue_depth และ last_clickhouse_write_at
  • ไม่มี tick เลยหลัง 60 วินาที: ใช้ fixture เพื่อให้โมดูลถัดไปมีผลลัพธ์แบบ deterministic
  • พอร์ต 8090 ถูกใช้อยู่: ใช้วิธีเปลี่ยนพอร์ตในส่วนแก้ปัญหา

รีเซ็ต

docker compose --env-file .env.polymarket down
docker compose --env-file .env.polymarket up -d --build collector
curl --fail --silent http://localhost:8090/health | python3 -m json.tool

การรีสตาร์ตจะดึง ID ล่าสุดและ checkpoint ของการเทรดจาก ClickHouse Cloud กลับมาเติมให้

ในหน้านี้

TH