Bỏ qua điều hướng
Blog

API trả 429: đặt ngân sách retry để không làm nghẽn hàng chờ

Giới hạn lượt thử lại API 429 bằng Retry-After, hạn xử lý và hàng chờ; dùng bảng nghiệm thu để tránh retry vô hạn hoặc bỏ mất công việc.

Chia sẻFacebookLinkedInZalo
API trả 429: đặt ngân sách retry để không làm nghẽn hàng chờ
Nội dung bài viết

Một lượt đồng bộ bị giới hạn tốc độ không cần được gửi lại ngay. Điều cần quyết định là công việc còn bao nhiêu thời gian, được thử lại đến đâu và ai nhận phần chưa hoàn thành.

Phân biệt giới hạn tốc độ với lỗi nghiệp vụ

429 thường báo quá nhiều yêu cầu, nhưng cần đọc tài liệu của nhà cung cấp trước khi áp dụng một lịch chung. Lỗi quyền truy cập, dữ liệu sai hoặc tài khoản bị khóa không được chữa bằng cách tăng số lượt retry. Giữ mã phản hồi, request ID và thời điểm nhận; không lưu token vào sổ xử lý.

Bảng ngân sách retry cho từng công việc

Tạo phiếu gồm mã công việc, hạn hoàn thành, số lượt đã thử, thời điểm được thử tiếp, tổng thời gian chờ và người nhận cảnh báo. Nếu provider gửi Retry-After, đừng thử sớm hơn tín hiệu đó. Nếu thời gian chờ vượt hạn nghiệp vụ, chuyển trạng thái chờ xử lý thay vì cố hoàn thành bằng cách gửi dồn.

API trả 429: Chốt hạn công việc, Đọc tín hiệu giới hạn, Xếp lịch thử lại, Dừng khi hết ngân sách, Bàn giao phần tồn
Quy trình đề xuất để nghiệm thu; điều kiện cụ thể cần xác nhận theo hệ thống đang dùng.

Ví dụ giả định: đồng bộ tồn kho trước giờ mở cửa

Một cửa hàng giả định cần bản cập nhật trước giờ mở cửa. Khi API bị giới hạn, nhóm vận hành đánh dấu dữ liệu chưa được xác nhận mới nhất và giữ lần cập nhật thành công gần nhất. Không hiển thị “đã đồng bộ” chỉ vì lịch retry đã được tạo. Các mặt hàng chưa xử lý được ghi riêng để tránh chạy lại toàn bộ danh mục.

Tín hiệu Điều phải ghi Kết quả cần thấy
429 có Retry-After Mốc sớm nhất được thử Không gửi sớm
Hạn công việc đã hết Phần chưa hoàn thành Chờ người xử lý
Lỗi quyền hoặc dữ liệu Mã lỗi và owner Không retry mù

Giảm tốc ở đúng phạm vi

Nếu nhiều worker cùng dùng một hạn mức, mỗi worker tự chờ vẫn có thể tạo đợt gửi dồn. Cần điều phối theo phạm vi hạn mức đã xác minh: tài khoản, ứng dụng hoặc endpoint. Có thể giãn thời điểm thử lại, nhưng phải giữ hạn chót và khả năng hủy. Không tự tăng concurrency khi hàng chờ lớn.

Nghiệm thu trước khi mở chạy định kỳ

Mô phỏng phản hồi giới hạn, tín hiệu chờ dài hơn deadline và việc nhiều tác vụ thức dậy cùng lúc. Người duyệt cần thấy công việc thành công một lần, công việc hết ngân sách có trạng thái rõ và phần tồn có người nhận. Đây là tiêu chí đề xuất cho dự án, không phải cam kết mọi API xử lý giống nhau.

Quyết định triển khai

Nút thắt thường là thiếu chính sách chờ và bàn giao, không phải thiếu thêm một vòng lặp. Chỉ mở tự động chạy lại khi đội vận hành biết cách xem hàng chờ, dừng tác vụ và tiếp nhận ngoại lệ. Thống nhất ngân sách với người chịu trách nhiệm nghiệp vụ trước khi điều chỉnh thông số kỹ thuật.

Chuẩn bị gì khi trao đổi phạm vi triển khai?

Nếu hàng chờ đang tăng vì API giới hạn tốc độ, hãy chuẩn bị một lượt lỗi đã che thông tin nhạy cảm cùng hạn hoàn thành nghiệp vụ. Khi trao đổi điều chỉnh luồng kết nối phần mềm, bảng ngân sách retry giúp chốt điểm dừng trước khi sửa mã.

Dùng prompt thiết kế retry/backoff khi đã chốt chính sách chờ; công cụ soạn yêu cầu không thay thế việc xác nhận hành vi trên hệ thống thực tế.

Nguồn kiểm chứng và giới hạn áp dụng

Tài liệu chính thức: GitHub hướng dẫn tôn trọng Retry-After và giới hạn lượt thử lại. Đối chiếu ngày 12/10/2026. Các bảng và quy trình trong bài là đề xuất biên tập; ví dụ giả định không phải dự án hay kết quả khách hàng Onter.

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo