Skip to content

Script para atualização do PI-COVID por meio do Google Spreadsheets

License

Notifications You must be signed in to change notification settings

rafaeldefazio/spread-update

Repository files navigation

spread-update

Script para atualização do BD via Google Spreadsheet, contendo informações epidemiológicas de cidades participantes do PI-COVID (Painel Interativo do Coronavírus).

Instalação

  1. Clone o repositório
  2. Instale uma ambiente virtual no diretório baixado (python3 -m venv .)
  3. Ative o ambiente virtual (source bin/activate)
  4. Instale as dependências (pip install -r requirements.txt)
  5. Crie .venv com as variáveis escritas em settings.py
  6. Não esqueça de baixar as credenciais da Conta de Serviço do Google (mais na documentação do gspread)

Execução períodica

A fim de executar o script a cada 1 hora, foi adicionado ao crontab do sistema, por meio do crontab -e:

0 * * * * <caminho-absoluto>/spread-update/bin/python3 <caminho-absoluto>/spread-update/main.py >> <caminho-absoluto>/spread-update/cron.log 2>&1

A cada hora (ou seja, quando os minutos estiverem zerados), o script main.py é executado através do python3 localizado no ambiente virtual criado anteriormente. Os outputs do cron são gravados no arquivo cron.log, para debug.

Configurações do .env

  • SPREAD_ID: ID do Google Spreadsheet
  • CRED_PATH: Caminho absoluto das credenciais da Conta de Serviços do Google (.json)
  • LOG_PATH: Caminho absoluto para arquivo de log
  • MONGO_URL: URL do MongoDB
  • MONGO_PORT: PORT do MongoDB
  • MONGO_DB: Database do MongoDB
  • MAILGUN_BASEURL: Base URL fornecido pelo Mailgun
  • MAINGUN_API: API Key fornecida pelo Mailgun
  • MAINGUN_DOMAIN: Domínio utilizado para envio de emails (from)

Observações

  • lembre-se de compartilhar a planilha com Conta de Serviço, com o papel de Editor