03 สตรีมข้อมูลสด · ผู้สอน
รันแบบสด รู้จักการลดระดับที่ปลอดภัย และสลับทั้งห้องไปใช้ fixture ให้ทันเวลา
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 กลับมาเติมให้