خطای ۴۲۹ معمولاً یعنی درخواستها از محدودیت نرخ عبور کردهاند، نه اینکه سؤال کاربر نامفهوم است. ارسال دوباره همزمان همه درخواستها میتواند اختلال را بیشتر کند. صف، کنترل همزمانی و فاصله تلاش مجدد باید در سمت سرویس طراحی شوند تا هر مرورگر جداگانه بار تازه نسازد.
روش اجرا و تصمیمگیری
محدودیتها ممکن است بر اساس درخواست، توکن، حساب یا بازه زمانی باشند. واحد واقعی سرویس را بخوانید و نرخ ورودی خود را با همان واحد اندازه بگیرید. فقط کاهش تعداد درخواست کافی نیست اگر چند درخواست طولانی، سقف مصرف دیگری را پر کنند.
کارها را در صف با شناسه و موعد نگه دارید. اگر ظرفیت پر است، کاربر باید وضعیت انتظار یا عدم پذیرش روشن ببیند. طول صف را بینهایت نکنید؛ کار منقضی یا لغوشده نباید پس از مدت طولانی ناگهان اجرا شود. برای گروههای مختلف، عدالت دسترسی و اولویت را صریح تعریف کنید.
برای پاسخ ۴۲۹، اگر Retry-After وجود دارد آن را مطابق قرارداد پردازش کنید. در نبود آن، backoff محدود با پراکندگی تصادفی به کاهش موج تکرار کمک میکند. تعداد تلاش و بودجه کل زمان باید پایان داشته باشند. برنامه نباید برای فرار از سهمیه، حساب تازه یا مسیر پنهان ایجاد کند.
نمونهٔ ساختگی و قابل تکرار
در مثال ساختگی، پنج کار به صف آزمایشی وارد میشود و برنامه فقط دو کار همزمان میپذیرد. یکی پاسخ محدودیت نرخ میگیرد. همان کار با زمان مجاز بعدی در صف میماند و بقیه بیدلیل دوباره ارسال نمیشوند. اگر موعد کار سوم پیش از آزادشدن ظرفیت گذشته باشد، وضعیت آن منقضی میشود و از کاربر تصمیم تازه خواسته میشود. عدد دو توصیه برای سرویس مشخص نیست؛ رفتار صف و جلوگیری از اجرای دیرهنگام را نشان میدهد.
محدودیتها و خطاهای رایج
صف به تنهایی ظرفیت ارائهدهنده را افزایش نمیدهد و تضمین زمان پاسخ نمیسازد. بسته به SDK، retry داخلی ممکن است وجود داشته باشد؛ لایههای تکرار را روی هم بیخبر فعال نکنید. این طراحی باید با سهمیه واقعی و مجوز استفاده هماهنگ باشد.
کنترل پیش از استفاده
| کنترل | معیار پذیرش |
|---|---|
| سهمیه | واحد و دامنه محدودیت از مستندات همان سرویس روشن باشند. |
| انتظار | کاربر وضعیت صف و امکان لغو یا پایان مهلت را ببیند. |
| موج تکرار | retry محدود باشد و همه کارها در یک لحظه دوباره ارسال نشوند. |
کاربرگ همراه
در فایل، موعد کار و زمان retry ستونهای جدا دارند. برای آزمون از شبیهساز خطای۴۲۹ استفاده کنید؛ لازم نیست سهمیه سرویس واقعی را عمداً پر کنید تا رفتار صف و انقضا بررسی شود.
دریافت کاربرگ CSV این راهنما — دادههای داخل فایل نمونهٔ ساختگیاند. نسخهٔ اصلی را نگه دارید و برای آزمون خودتان یک کپی بسازید.
منبع و ادامهٔ کار
MDN: وضعیت ۴۲۹. تاریخ بررسی منابع: ۱ نوامبر ۲۰۲۶.
اگر کاربرد شما پاسخگویی به مشتری است، مسیر مرتبط اپرا را ببینید و مسئله و محدودیتهای همین کاربرگ را برای بررسی در دمو همراه داشته باشید.