Định nghĩa
Heartbeat
Một thông điệp định kỳ dùng để giữ cho một kết nối WebSocket luôn hoạt động.
Định nghĩa
Một WebSocket heartbeat là một thông điệp định kỳ được gửi qua kết nối WebSocket để xác nhận rằng kết nối vẫn còn hoạt động. Trên WebSocket thị trường của Polymarket, máy chủ mong đợi một PING mỗi 10 giây; thiếu heartbeat có thể khiến máy chủ hoặc các thành phần trung gian ngắt kết nối.
Trong bối cảnh
Khi bạn đăng ký nguồn dữ liệu thị trường của Polymarket (wss://ws-subscriptions-clob.polymarket.com/ws/market), vòng đời kết nối phụ thuộc vào các heartbeat đều đặn. Máy chủ phát các sự kiện thị trường (best_bid_ask, last_trade_price, price_change, tick_size_change) và mong nhận được một PING khoảng mỗi 10 giây để tránh timeout. Các triển khai nên vừa phản hồi các frame PING/PONG đến, vừa gửi PING định kỳ từ phía client nếu lớp vận chuyển hoặc thành phần trung gian có thể đóng các socket nhàn rỗi.
Ghi chú thực tiễn
- Sử dụng bộ hẹn giờ hơi ngắn hơn 10 giây (ví dụ: 9–10 giây) để chịu được jitter mạng và độ trễ xử lý.
- Xử lý trường hợp bỏ lỡ heartbeat bằng cách cố gắng kết nối lại một cách sạch sẽ và đăng ký lại các công cụ (instruments) của bạn. Logic kết nối lại nên bao gồm cơ chế lùi (backoff) để tránh hiện tượng thundering herd.
- Tôn trọng giới hạn 500 instruments cho mỗi kết nối khi đăng ký lại; WebSocket sẽ từ chối các yêu cầu đăng ký quá lớn.
Xem thêm
- /glossary/market-channel