Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cria cronjob com horario randomico para atualizar indices do solr #3637

Open
wants to merge 2 commits into
base: 3.1.x
Choose a base branch
from

Conversation

joaohortsenado
Copy link
Contributor

Descrição

cria cronjob para atualizar indices do solr

Motivação e Contexto

resolver problema com novos arquivos e dados que nao aparecem nas pesquisas

Como Isso Foi Testado?

localmente

Tipos de Mudanças

  • Bug fix (alteração que corrige uma issue e não altera funcionalidades já existentes)
  • [x ] Nova feature (alteração que adiciona uma funcionalidade e não altera funcionalidades já existentes)
  • Alteração disruptiva (Breaking change) (Correção ou funcionalidade que causa alteração nas funcionalidades existentes)

Checklist:

  • [x ] Eu li o documento de Contribuição (CONTRIBUTING).
  • [ x] Meu código segue o estilo de código deste projeto.
  • Minha alteração requer uma alteração na documentação.
  • Eu atualizei a documentação de acordo.
  • Eu adicionei testes para cobrir minhas mudanças.
  • [x ] Todos os testes novos e existentes passaram.

Copy link
Contributor

@edwardoliveira edwardoliveira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tem que mudar a interação com Solr. Eu indiquei no review como a gente faz atualmente.

docker/Dockerfile Outdated Show resolved Hide resolved
docker/Dockerfile Outdated Show resolved Hide resolved
docker/Dockerfile Outdated Show resolved Hide resolved
docker/solr_cli.py Outdated Show resolved Hide resolved
docker/solr_cli.py Outdated Show resolved Hide resolved
Comment on lines 351 to 358

if args.rebuild_index:
print("Rebuilding index of '%s' collection..." % collection)
client.rebuild_index(collection)

if args.update_index:
print("Updating index of '%s' collection..." % collection)
client.update_index_last_day(collection)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As chamadas tem que ser feitas como tá sendo feito na linha 350. ;)

Comment on lines +88 to +96

RANDOM_MINUTE_MIN=0
RANDOM_MINUTE_MAX=60
RANDOM_HOUR_MIN=0
RANDOM_HOUR_MAX=3

# Generate a random minute within the interval
RANDOM_MINUTE=$((RANDOM % ($RANDOM_MINUTE_MAX-$RANDOM_MINUTE_MIN+1) + $RANDOM_MINUTE_MIN))
RANDOM_HOUR=$((RANDOM % ($RANDOM_HOUR_MAX-$RANDOM_HOUR_MIN+1) + $RANDOM_HOUR_MIN))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aqui eu estava pensando no seguinte esquema: ter uma hora base a noite e variar a hora e minuto a partir do qual a atualização do índice vai ocorrer todo dia. Isso pode ser resolvido conforme o script em bash abaixo:


BASE_HOUR=20

random_time() {
  RANDOM_HOUR=$((RANDOM % 4))
  RANDOM_MIN=$(printf "%02d" $((RANDOM % 60)))
  RANDOM_TIME=$((BASE_HOUR + RANDOM_HOUR))":"$RANDOM_MIN
  echo $RANDOM_TIME
}

# gera sequencia de 10 horários aleatórios para teste
for i in {1..10}; do
  echo `random_time`
done

Neste caso, a partir das 20h ele vai gerar um horário aleatório pro cronjob rodar. Pode ser criada duas funções uma pra retornar a hora e houra pra retornar o minuto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants