كل المستندات

حدود المعدل

ترويسات الحصص وسلوك حد المعدل.

حدود الطلبات والحصص

راقب ترويسات الحصة، وخفّض الحمل قبل الوصول إلى 429، وأعد المحاولة بطريقة متدرجة.

ماذا تراقب

الحقلالنوعمطلوبالوصف
X-Quota-Limitheaderإجمالي الحصة المتاحة ضمن دورة الفوترة
X-Quota-Remainingheaderالطلبات المتبقية في الحصة
Retry-Afterheaderعند 429مدة الانتظار قبل محاولة جديدة

الحصة الافتراضية هي 10,000 طلب/ساعة (نافذة متدحرجة لمدة ساعة واحدة). تجاوز الحد يعيد 429 مع ترويسة Retry-After. قد تختلف الحدود حسب المسار والخطة.

Exponential backoff with jitter
async function requestWithBackoff(url, options, attempt = 0) {
  const response = await fetch(url, options);
  if (response.status !== 429 && response.status < 500) return response;
  if (attempt >= 4) throw new Error("Retry limit reached");

  const retryAfter = Number(response.headers.get("Retry-After"));
  const delay = retryAfter
    ? retryAfter * 1000
    : Math.min(1000 * 2 ** attempt + Math.random() * 250, 30000);
  await new Promise((resolve) => setTimeout(resolve, delay));
  return requestWithBackoff(url, options, attempt + 1);
}