Movatterモバイル変換


[0]ホーム

URL:


Jump to content
MediaWiki
Search

Manual:Parâmetro maxlag

From mediawiki.org
This page is atranslated version of the pageManual:Maxlag parameter and the translation is 88% complete.
Languages:

Omaxlag pode ser adicionado a qualquer consulta daAction API. Quando definido, a consulta da API perguntará ao servidor se ele está muito ocupado.If it is, the API query will return an error instead of processing the API request.The error message will include the number of seconds behind it is, and this information can be used to determine how long to wait before retrying the query.The idea is to pause bot operations during times of high server load, to give human operations priority.This is an optional but recommended parameter, and many major bot frameworks such asPywikibot implement it by default.

Se o MediaWiki está sendo executado em umcluster de bancos de dados replicados (como o é na Wikimedia), isso significa que um alto tráfego de operações (especialmente edições) pode causarlag nos servidores replicados.Uma forma de mitigar olag nas réplicas é fazer com que todos os robôs e tarefas de manutenção parem automaticamente assim que olag for superior a determinado valor.O parâmetromaxlag foi introduzido no MediaWiki 1.10, permitindo que isso seja feito emscripts executados noclient-side.Desde a 1.27, ele se aplica somente a requisições àapi.php.

O parâmetromaxlag pode ser passado àapi.php através de um parâmetro na URL ou dos dados no POST. Seu conteúdo são os números de segundos tipados como inteiro.A título de exemplo,esta ligação retornará os metadados da página “MediaWiki” enquanto olag for menor do que 1 segundo. Jáesta outra (com um-1 no final) mostrará olag sem os metadados.

Se olag especificado for excedido durante a requisição, a API retornará um erro (com o código 200 conformeT33156) como o seguinte:

{"error":{"code":"maxlag","info":"Waiting for$host:$lag seconds lagged","host":$host,"lag":$lag,"*":"See https://www.mediawiki.org/w/api.php for API usage"}}

Os seguintes cabeçalhos HTTP são definidos:

  • Retry-After – um número mínimo recomendado de segundos durante os quais o cliente deverá aguardar antes de tentar novamente
  • X-Database-Lag – O número de segundos delag na réplica com o maiorlag

O uso recomendado para aswikis da Wikimedia é o seguinte:

  • Usemaxlag=5 (5 segundos). Esse é um valor não agressivo adequado, definido como valor padrão noPywikibot. Valores mais altos significam comportamento mais agressivo, valores mais baixos são mais agradáveis.
  • Se você receber um erro delag, pause oscript por pelo menos 5 segundos antes de tentar novamente. Tenha cuidado para não entrar em umloop contínuo.
  • É possível que, com esse valor, seja obtido um ciclo de trabalho baixo em momentos de alta carga do banco de dados. Não há problema, deixe-o aguardar fora do horário de pico. Damos prioridade às ações humanas em momentos de alta carga porque não queremos desperdiçar o tempo deles rejeitando suas edições.
  • Umlag anormalmente alto ou persistente deve ser relatado ao#wikimedia-techconnect noIRC.
  • Tarefas interativas (nas quais um usuário está aguardando o resultado) podem omitir o parâmetromaxlag. As tarefas não interativas devem sempre utilizá-lo. Veja tambémAPI:Etiqueta#O parâmetro maxlag.

Observe que a camada decache (Varnish ouSquid) também pode gerar mensagens de erro com um código 503, devido ao tempo limite de um servidor a montante (upstream).Os clientes devem tratar esses erros de forma diferente, pois eles podem ocorrer de forma consistente ao tentar executar uma operação custosa e de longa duração.Repetir a operação no tempo limite usaria recursos excessivos do servidor e poderia deixar seu cliente em umloop infinito.É possível distinguir entre erros de camada decache e condições delag do MediaWiki usando um dos seguintes procedimentos:

  • O cabeçalhoX-Database-Lag é distinto dos erros delag de replicação no MediaWiki
  • NenhumRetry-After nos erros do Varnish
  • O cabeçalhoX-Squid-Error deve estar presente nos erros do Squid
  • O corpo da resposta nos erros delag da réplica corresponderá à expressão regular/Waiting for [^ ]*: [0-9.-]+ seconds? lagged/

Para fins de teste, você pode intencionalmente fazer com que osoftware recuse uma requisição passando um valor negativo, como no URL a seguir://www.mediawiki.org/w/api.php?action=query&titles=MediaWiki&format=json&maxlag=-1.

Retrieved from "https://www.mediawiki.org/w/index.php?title=Manual:Maxlag_parameter/pt-br&oldid=7929024"
Category:

[8]ページ先頭

©2009-2025 Movatter.jp