API Discourse génère 429

Bonjour,

J’essaie d’utiliser l’API Discourse pour donner des réponses idiotes sur un forum. Par exemple, si quelqu’un dit « Linux » dans un fil de discussion, Discobot répondra « Voulez-vous dire GNU/Linux ? »

Cela fonctionne, sauf si quelqu’un répond avec la même phrase, auquel cas j’obtiens une série de réponses 429 ou vides pendant deux minutes (c’est presque exactement deux minutes), après quoi l’API recommence à traiter les réponses normalement.

Par exemple :

Linux
FOSS
dotNet
Java
Linux

Cela fonctionnera correctement. Cependant :

Linux
FOSS
dotNet
Linux
Linux

Cela cassera.

Avez-vous une idée de ce à quoi correspond la fenêtre de deux minutes ? Nous avons joué avec les paramètres de app.yml et ajusté les limites de débit de l’API. Cela n’a pas semblé avoir d’effet.

Merci !

Nous avons besoin de plus d’informations. Quel est le point de terminaison de l’API que vous appelez et qui renvoie une erreur 429 ?

1 « J'aime »
https://forum.domain.net/t/1000/highestPost.json

Requête GET sur celui-ci
highestPost étant le highest_post_number du fil de discussion

Cela signifie que vous êtes limité par le débit. Si vous souhaitez suivre les nouveaux messages, un regroupement comme celui-ci est très inefficace. Puis-je suggérer d’utiliser des webhooks ? De cette façon, vous pouvez réagir aux nouveaux messages, au lieu de regrouper même lorsque rien ne se passe.

Bien sûr, je peux jeter un œil aux web-hooks.

Savez-vous comment désactiver les limites de débit de réponse ? Je pense que nous en avons déjà modifié quelques-unes dans app.yml, tout ce qui concernait l’API à partir de ce lien :

Est-ce quelque chose de spécifique à Nginx que nous devons explorer ?

Il existe un modèle nginx qui est ajouté par défaut. Ce sera l’une des toutes premières lignes de l’app.yml. Vous voudrez peut-être supprimer celui concernant les limites de débit et reconstruire pour qu’il prenne effet.

3 « J'aime »

w00t. J’essaierai ça. Merci pour votre aide !

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.