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

I get the below error quite a few times.

{"errors":["You’ve performed this action too many times. Please wait a few seconds before trying again."],"error_type":"rate_limit","extras":{"wait_seconds":0}}

How do I eliminate this error. Please suggest.

إعجاب واحد (1)

Go look in settings > Rate Limit. Change the values as you please

Hi @IAmGav,

I have made,

  1. rate limit create topic = 0 (After creating a topic, users must wait (n) seconds before creating another topic.)
  2. rate limit create post = 0 (After posting, users must wait (n) seconds before creating another post.)
  3. rate limit new user create topic = 0 (After creating a topic, new users must wait (n) seconds before creating another topic.)
  4. rate limit new user create post = 0 (After posting, new users must wait (n) seconds before creating another post.)

But, still the error is persistent. Are there any other limits I need to look at.

إعجاب واحد (1)

I have disabled all the settings mentioned in:

But, still I get the “You Have Performed this Action Too Many Times” error.
Is there something else I have to do?

So what are you exactly doing what causes this error?

I am trying to create Topics using API. While trying to create like 100 topics through API, it is throwing me this error.
I am also trying to Update Tags to my Topics through API, there are 100s of Topics in my forum which do not have tags. So I am updating tags to them through API.

So what are the values of

DISCOURSE_MAX_USER_API_REQS_PER_MINUTE
DISCOURSE_MAX_USER_API_REQS_PER_DAY
DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE

and are you sure you’re staying below those numbers?

إعجابَين (2)

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

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

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

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

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

إعجاب واحد (1)

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

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

إعجاب واحد (1)

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

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

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

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

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

إعجاب واحد (1)

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

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

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

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

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

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

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

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

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

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

إعجاب واحد (1)