นโยบายการลองซ้ำ¶
เป้าหมาย¶
- ลองซ้ำต่อคำขอ HTTP รายคำขอ ไม่ใช่ต่อโฟลว์หลายขั้นตอน
- รักษาลำดับด้วยการลองซ้ำเฉพาะขั้นตอนปัจจุบัน
- หลีกเลี่ยงการทำซ้ำการดำเนินการที่ไม่เป็น idempotent
ค่าเริ่มต้น¶
- จำนวนครั้ง: 3
- เพดานหน่วงเวลาสูงสุด: 30000 มิลลิวินาที
- Jitter: 0.1 (10 เปอร์เซ็นต์)
- ค่าเริ่มต้นของผู้ให้บริการ:
- Telegram หน่วงขั้นต่ำ: 400 มิลลิวินาที
- Discord หน่วงขั้นต่ำ: 500 มิลลิวินาที
พฤติกรรม¶
Discord¶
- ลองซ้ำเฉพาะเมื่อเกิดข้อผิดพลาดการจำกัดอัตรา (HTTP 429)
- ใช้
retry_afterเมื่อมีให้ใช้งาน มิฉะนั้นใช้การหน่วงแบบเพิ่มทวีคูณ
Telegram¶
- ลองซ้ำเมื่อเกิดข้อผิดพลาดชั่วคราว (429, timeout, connect/reset/closed, ไม่พร้อมใช้งานชั่วคราว)
- ใช้
retry_afterเมื่อมีให้ใช้งาน มิฉะนั้นใช้การหน่วงแบบเพิ่มทวีคูณ - ข้อผิดพลาดการแยกวิเคราะห์ Markdown จะไม่ถูกลองซ้ำ; จะถอยกลับเป็นข้อความธรรมดา
การกำหนดค่า¶
ตั้งค่านโยบายการลองซ้ำต่อผู้ให้บริการใน ~/.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,
},
},
},
}
หมายเหตุ¶
- การลองซ้ำใช้ต่อคำขอ (การส่งข้อความ, อัปโหลดสื่อ, ปฏิกิริยา, โพล, สติกเกอร์)
- โฟลว์แบบประกอบจะไม่ลองซ้ำขั้นตอนที่เสร็จสิ้นแล้ว