API de Discourse generando 429

Hola,

Estoy intentando usar la API de Discourse para dar respuestas tontas en un foro. Por ejemplo, si alguien dice “Linux” en un hilo, Discobot responderá “¿Te refieres a GNU/Linux?”.

Funciona, a menos que alguien responda con la misma frase, entonces obtengo un montón de respuestas 429 o vacías durante dos minutos (es casi exactamente dos minutos), momento en el cual la API comenzará a manejar las respuestas normalmente de nuevo.

Por ejemplo:

Linux
FOSS
dotNET
Java
Linux

Esto funcionará correctamente. Sin embargo:

Linux
FOSS
dotNET
Linux
Linux

Esto se romperá.

¿Alguna idea de a qué se refiere la ventana de dos minutos? Hemos jugado con la configuración de app.yml y ajustado los límites de tasa de la API. No pareció tener ningún efecto.

¡Gracias!

Necesitamos más información. ¿Cuál es el punto de conexión de la API que está llamando y que devuelve un 429?

1 me gusta
https://forum.domain.net/t/1000/highestPost.json

GET request sobre eso
siendo highestPost el highest_post_number del hilo

Eso significa que estás siendo limitado en la tasa de solicitudes. Si quieres mantener un registro de las nuevas publicaciones, hacer sondeos de esa manera es muy ineficiente. ¿Puedo sugerir usar webhooks? De esa manera puedes reaccionar a nuevas publicaciones, en lugar de hacer sondeos incluso cuando no está sucediendo nada.

Claro, puedo echarle un vistazo a los web-hooks.

¿Sabes cómo deshabilitar los límites de velocidad de respuesta? Creo que ya hemos cambiado algunos en el app.yml, cualquier cosa que perteneciera a la API de este enlace:

¿Es esto algo específico en Nginx que necesitamos explorar?

Hay una plantilla de nginx que se agrega por defecto. Será una de las primeras líneas de app.yml. Es posible que desee eliminar la que trata sobre los límites de velocidad y reconstruir para que surta efecto.

3 Me gusta

w00t. Lo intentaré. ¡Gracias por la ayuda!

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