تم تجاوز حد المعدل بسبب التنقل السريع بين الأسابيع في تقويم الأحداث القادمة

أقوم بإنشاء موضوع جديد لأنني سجلت الآن استجابة HTTP 429 محددة مع رمز الخطأ user_10_secs_limit. لم يتضمن تقرير我之前ي استجابة 429 مؤكدة، واعتُبر لاحقاً أنه تم حله.


قمت باختبار التنقل السريع عبر عدة أسابيع متتالية في تقويم “الأحداث القادمة”. وبعد القيام بذلك، تفقدت وحدة تحكم Firefox ووجدت أخطاء في الطلبات.

الصفحة المختبرة:

/upcoming-events/week/2026/7/13

النسخة المثبتة

  • Discourse 2026.7.0-latest +314
  • التزامن Git cf0d9228b4
  • Ember v6.10.1

خطوات إعادة إنتاج المشكلة

  1. افتح تقويم “الأحداث القادمة” في عرض الأسبوع.
  2. انتقل للأمام أو للخلف عبر عدة أسابيع بسرعة متتالية.
  3. افتح وحدة تحكم مطوري Firefox.

خطأ الطلب

تبدأ الطلبات الموجهة إلى /discourse-post-event/events بإرجاع استجابات HTTP 429:

أبطئ، فأنت ترسل طلبات كثيرة جداً. يرجى إعادة المحاولة بعد ثانية واحدة. رمز الخطأ: user_10_secs_limit.

تسجل وحدة تحكم المتصفح الطلب الفاشل من index.js:631:21.

هل يجب أن يقوم التقويم بإرجاء التنفيذ (debounce)، أو إلغاء الطلبات، أو التعامل مع التنقل السريع بطريقة أخرى بحيث لا تؤدي طلبات الأحداث الخاصة به إلى تفعيل حد الطلبات لكل مستخدم؟

كما قمتُ بفحص استخدام موارد المضيف في الوقت تقريبًا الذي حدث فيه التكرار.

خلال الساعة المحيطة بذلك، سجلت الخادم ذو 4 وحدات معالجة مركزية (vCPU) المتوسطات التالية:

  • 96.45% من وقت المعالج كان في حالة خمول
  • متوسط الحمل 0.22
  • 1.28% استخدام القرص
  • ما يقارب 1.4 جيجابايت من ذاكرة الوصول العشوائي (RAM) لا تزال متاحة

لم تكن هناك عمليات مقفلة، أو انتظار ذي معنى لإدخال/إخراج (I/O)، أو تشبع في الشبكة.

لذلك، يبدو أن هذا يمثل حدًا على مستوى التطبيق لعدد الطلبات، بدلاً من قيام الخادم بحماية نفسه بسبب ضغط المعالج أو الذاكرة أو القرص أو الشبكة.