Erro 429 com a API

Olá a todos,

Criei uma VM Linux simples no Azure e instalei o Discourse. Estou usando essa máquina para desenvolver alguns scripts de migração. Estou encontrando erros HTTP 429 ao executar os scripts de migração. Encontrei a postagem sobre como definir os limites no app.yml.

Minhas configurações são as seguintes:

Também executei “./launcher rebuild app” após essas alterações.

Mas ainda estou recebendo erros 429 após cerca de 200 solicitações de API. O que estou esquecendo aqui?

Provavelmente vindo do NGINX, você está misturando o modelo de limitação de taxa do NGINX?

1 curtida

Tentamos fazer alterações em /etc/nginx/conf.d/discourse.conf — ajustamos esses valores na esperança de não receber mais erros 429 (“muitas solicitações”):

limit_req_zone $binary_remote_addr zone=flood:10m rate=1200r/s;
limit_req_zone $binary_remote_addr zone=bot:10m rate=2000r/m;
limit_req_status 429;
limit_conn_zone $binary_remote_addr zone=connperip:1000m;
[...]

  limit_conn connperip 2000;
  limit_req zone=flood burst=1200 nodelay;
  limit_req zone=bot burst=1000 nodelay;

e, em seguida, executamos:

sv stop nginx
sv start nginx
em /var/www/discourse

Ainda assim, continuamos recebendo o erro 429 (“muitas solicitações”) apesar dessas alterações.

Existe alguma outra configuração que devamos alterar? O erro parece vir do próprio Discourse e não do NGINX. Recebi este erro:

{"errors":["Você atingiu o número máximo de novos tópicos. Aguarde 15 horas antes de tentar novamente."],"error_type":"rate_limit","extras":{"wait_seconds":54224}}

Se eu tentar postar mensagens com outros usuários, parece funcionar normalmente.

Gostaria de saber onde está a configuração para remover essa restrição de número de novos tópicos por usuário. Não encontrei em Configurações \ Usuários ou Configurações \ Publicação.

Na verdade, encontrei o que estava procurando em Configurações \ Limites de Taxa

1 curtida

Se você está tentando importar dados de outro fórum, será muito melhor procurar pelos scripts de importação existentes.

1 curtida