Chính sách Retry
Mục tiêu
- Retry theo từng HTTP request, không phải theo toàn bộ luồng nhiều bước.
- Giữ nguyên thứ tự bằng cách chỉ retry bước hiện tại.
- Tránh lặp lại các thao tác không idempotent.
Cài đặt mặc định
- Số lần thử: 3
- Độ trễ tối đa: 30000 ms
- Jitter: 0.1 (10%)
- Cài đặt mặc định theo provider:
- Telegram độ trễ tối thiểu: 400 ms
- Discord độ trễ tối thiểu: 500 ms
Hành vi
Discord
- Chỉ retry khi gặp lỗi rate-limit (HTTP 429).
- Sử dụng giá trị
retry_aftercủa Discord nếu có, nếu không thì dùng exponential backoff.
Telegram
- Retry khi gặp lỗi tạm thời (429, timeout, connect/reset/closed, temporarily unavailable).
- Sử dụng giá trị
retry_afternếu có, nếu không thì dùng exponential backoff. - Lỗi parse Markdown sẽ không retry; thay vào đó sẽ fallback về plain text.
Cấu hình
Cài đặt chính sách retry cho từng provider trong ~/.openclaw/openclaw.json:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
Lưu ý
- Retry áp dụng cho từng request (gửi tin nhắn, upload media, reaction, poll, sticker).
- Các luồng phức hợp không retry lại các bước đã hoàn thành.