okfn-brasil / perfil-politico

Este repositório não está recebendo atualizações | A platform for profiling public figures in Brazilian politics
https://perfilpolitico.serenata.ai/
GNU General Public License v3.0
163 stars 40 forks source link

[Integração de dados] Carregar dados de candidatos de 2022 no servidor #193

Closed arielbello closed 2 years ago

arielbello commented 2 years ago

Atualizar o banco perfilstaging no servidor com dados de candidatos de 2022

Critérios de aceite:

arielbello commented 2 years ago

Processo de update

Esse é o passo a passo para atualizar os dados dos candidatos de 2022 no ambiente de staging.

Obs: Esse processo requer que você tenha acesso ssh ao servidor Obs 2: update_or_create_candidates leva cerca de 6 minutos pra rodar no servidor link_affiliations_and_candidates leva cerca de 30 minutos pra rodar no servidor.

  1. Clonar esse fork do eleicoes-brasil, caso ainda não tenha feito. É necessário usar esse fork porque o projeto original não possibilita fazer o download de eleições que ainda não ocorreram.
  2. Rodar o raspador do projeto clonado no passo anterior usando o comando python tse.py candidatura --years=2022 . A opção --years=2022 faz com que só sejam raspadas as candidaturas de 2022
  3. Renomear o dataset criado no projeto eleiçoes brasil em ./data/output/ (para deixar claro que não é o arquivo com todas as candidaturas): mv candidatura.csv.gz candidatura-2022.csv.gz
  4. Copiar o dataset para o servidor: scp candidatura-2022.csv.gz root@<ip-do-servidor>:/root/api-perfilpolitico.serenata.ai/data
  5. Conectar no servidor no servidor para realizar os próximos passos: ssh -o ServerAliveInterval=60 root@<ip-do-servidor>
  6. Ir para o diretório do perfil-politico no servidor: cd api-perfilpolitico.serenata.ai
  7. Extrair o dataset zipado gzip -d data/candidatura-2022.csv.gz
  8. Rodar o comando para atualização dos dados de candidatura no ambiente de staging: docker-compose -f docker-compose.staging.yml run --rm -d django-staging time ./manage.py update_or_create_candidates /mnt/data/candidatura-2022.csv > logs/update_or_create_candidates-<data, hora e minuto ex: 2022-09-03T10-15>.log 2>&1
  9. Rodar o comando para associar os politicos aos candidatos no ambiente de staging: docker-compose -f docker-compose.staging.yml run -d --rm django-staging time ./manage.py link_affiliations_and_candidates > logs/link_affiliations_and_candidates-<data, hora e minuto ex: 2022-09-03T10-15>.log 2>&1
  10. Para atualizar as fotos, executar o comando python fotos.py (apenas para o ano de 2022, preferencialmente) desse fork com as credenciais da Digital Ocean como variáveis de ambiente