لقد قمت بتنفيذ هذا الإجراء الكثير من المرات خطأ

أواجه الخطأ التالي عدة مرات:

{"errors":["لقد قمت بهذا الإجراء عددًا كبيرًا جدًا من المرات. يرجى الانتظار بضع ثوانٍ قبل المحاولة مجددًا."],"error_type":"rate_limit","extras":{"wait_seconds":0}}

كيف يمكنني إزالة هذا الخطأ؟ يرجى الاقتراح.

اذهب إلى الإعدادات > حد المعدل. غيّر القيم كما تشاء

مرحبًا @IAmGav،

لقد قمت بالتالي:

  1. حد معدل إنشاء المواضيع = 0 (بعد إنشاء موضوع، يجب على المستخدمين الانتظار (n) ثانية قبل إنشاء موضوع آخر.)
  2. حد معدل إنشاء المنشورات = 0 (بعد النشر، يجب على المستخدمين الانتظار (n) ثانية قبل إنشاء منشور آخر.)
  3. حد معدل إنشاء المواضيع للمستخدمين الجدد = 0 (بعد إنشاء موضوع، يجب على المستخدمين الجدد الانتظار (n) ثانية قبل إنشاء موضوع آخر.)
  4. حد معدل إنشاء المنشورات للمستخدمين الجدد = 0 (بعد النشر، يجب على المستخدمين الجدد الانتظار (n) ثانية قبل إنشاء منشور آخر.)

ومع ذلك، لا يزال الخطأ مستمرًا. هل هناك حدود أخرى يجب أن أبحث عنها؟

لقد قمت بتعطيل جميع الإعدادات المذكورة في:

ولكن، ما زلت أحصل على رسالة الخطأ “لقد قمت بهذا الإجراء عددًا كبيرًا جدًا من المرات”.
هل هناك شيء آخر يجب علي فعله؟

إذن ما الذي تفعله بالضبط الذي يسبب هذه الخطأ؟

أنا أحاول إنشاء مواضيع باستخدام واجهة برمجة التطبيقات (API). بينما أحاول إنشاء حوالي 100 موضوع عبر واجهة برمجة التطبيقات، يظهر لي هذا الخطأ.
كما أنني أحاول تحديث الوسوم لمواضيعي عبر واجهة برمجة التطبيقات، فهناك مئات المواضيع في منتداك التي لا تحتوي على وسوم. لذلك، أقوم بتحديث الوسوم لها عبر واجهة برمجة التطبيقات.

إذن، ما هي قيم

DISCOURSE_MAX_USER_API_REQS_PER_MINUTE
DISCOURSE_MAX_USER_API_REQS_PER_DAY
DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE

وهل أنت متأكد من أنك تظل دون هذه الأرقام؟

مرحباً :wave:
أواجه نفس المشكلة ولكن مع إجراءات القراءة

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

  1. الحصول على أحدث المواضيع باستخدام نقطة النهاية /latest.json
  2. الحصول على جميع المواضيع بشكل متسلسل عبر /t/:id حتى أتمكن من الحصول على تدفق المشاركات والتنقل عبرها
  3. إذا كان هناك أكثر من 20 مشاركة في هذا الموضوع، فاحصل على معرفاتها من “stream” وجلبها بشكل متسلسل في أجزاء بحجم 20

أيضًا، أقوم بجميع الطلبات في قائمة انتظار وأحاول إرسال ما لا يزيد عن ~25 طلبًا كل 10 ثوانٍ، ولكن لا يزال بإمكاني غالبًا رؤية خطأ “لقد قمت بهذا الإجراء عدة مرات” لطلب قراءة الموضوع أو المشاركات. لقد ذهبت إلى إعدادات Discourse ولكن لا يمكنني العثور على أي حدود للقراءة هنا. يمكنني فقط رؤية الحد المخصص لـ “إنشاء مواضيع” وعمليات الكتابة الأخرى

هل هناك أي شيء يمكنني فعله حيال ذلك؟ شكرًا لك على أي نصائح وأعتذر عن إثارة موضوع قديم

يبدو أنني أصل إلى الحد الأقصى لطلبات واجهة برمجة التطبيقات للمسؤولين في الدقيقة. هل يمكن تخصيصه؟ لا أراه في الإعدادات > حدود المعدل

تحرير: في الواقع، يبدو أن هناك حدين ينطبقان هناك. admin_api_key_rate_limit و ip_10_secs_limit

هل سيساعد إضافة ?print=true في تقليل عدد استدعاءات واجهة برمجة التطبيقات (API) عند القراءة؟

سيسمح لك هذا بجلب 1000 مشاركة في استدعاء واجهة برمجة تطبيقات واحد.

ظننت لسبب ما أن ?print لديه حدود معدل أشد صرامة

ولكن يبدو أن الأمر لا يتعلق باستخدام ?print=true بل بشيء آخر. سأجربه بالتأكيد.

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

نعم، هذا للحد من المستخدمين. إذا كان لديك مفتاح واجهة برمجة تطبيقات للمسؤول، فلن يؤثر هذا الإعداد عليك.

آه نعم، هذا مرجح جدًا إذن.

بالإضافة إلى مجرد التحقق من أخطاء 429 والتباطؤ للمقدار المحدد، هناك عدد قليل من الخيارات.

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

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

إذا كنت لا تزال تحدد أنك بحاجة إلى زيادة حدود معدل واجهة برمجة التطبيقات، فهذا شيء يمكننا القيام به، ولكن فقط للمواقع الموجودة على خطة المؤسسات الخاصة بنا لأنها ليست على استضافة Pro/Business المشتركة الخاصة بنا.

تكمن المشكلة في استخدام المكون الإضافي لاستكشاف البيانات في أننا لسنا المستخدمين الوحيدين لتكامل Discourse. نحن (fibery.io) نسمح لعملائنا بتكامل مثيلات Discourse الخاصة بهم حتى يتمكنوا من مزامنة البيانات بسلاسة إلى أداتنا.

الخطافات (Webhooks) هي إضافة لطيفة ولكنها لن تساعد أثناء المزامنة الأولى (وهي الأثقل، على سبيل المثال، الموضوعات والمنشورات للشهر الماضي). بعد ذلك، نقوم بمزامنات مجدولة للبيانات الجديدة وهي ليست مشكلة.

التحقق من 429 وإعادة المحاولة يعمل بشكل جيد ولكنه قد يكون بطيئًا في بعض الأحيان)

شكراً لاهتمامكم :bow: