/CrawlClima

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Crawlclima

Este pacote contém os módulos PEGATWEETS e PEGATEMPERATURA para captura automática de tweets e dados climáticos.

Requisitos(Debian)

Instalar essentials, postgresql e rabbitmq-server

$ sudo apt-get -qq update --yes \
  && apt-get -qq install --yes --no-install-recommends \
  && build-essential ca-certificates libpq-dev locales \
  && rabbitmq-server postgres postgresql-client vim wget git make cron \
  && rm -rf /var/lib/apt/lists/*

Clonar o repositório AlertaDengueCaptura

$ git clone https://github.com/AlertaDengue/AlertaDengueCaptura.git

Criando e configurando o ambiente conda

Installing Miniconda: https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html

Após a instalação do miniconda execute:

$ conda env create -f docker/crawlclima/environment.yml

$ conda activate captura-crawlclima

Instalar os pacotes do projeto e criar arquivo de ambiente .env

$ make install_crawlclima

Configurar o banco de dados demo

  • Para poder executar as tarefas de captura com os dados do banco de dados de demonstração baixe o repositório AlertaDengue/Data . Ou use os utilitários para criação do banco e os schemas iniciais.
  • Modificar as variáveis de conexão com a base de dados de demonstração e as demais variáveis de ambiente no arquivo de ambiente; AlertaDengueCaptura/crawlclima/.env do projeto.

Iniciando o Celery e rabbbitmq

Insira na variável de ambiente o endereço de conexão para: CELERY_BROKER_URL='amqp://guest:guest@127.0.0.1:5672

Execute os seguintes comandos:

$ rabbitmq-server start -detached

$ celery -A crawlclima.fetchapp worker --concurrency=8 -l INFO --logfile=logs/celery-tasks.log

Para mais detalhes consulte a documentação: RabbitMQ Celery

Iniciando a captura

Em uma nova janela do console/shell execute as tarefas desde o diretório raiz do projeto:

Ativar o ambiente conda criado anteriormente $ conda activate captura-crawlclima Executar a tarefa Pegatweets $ python crawlclima/crawlclima/pegatweets.py Executar a tarefa Pegatemperatura

Para poder acessar as informações disponibilizadas pela APIs, será necessário a realização de um cadastro e obter uma chave

$ python crawlclima/crawlclima/pegatemperatura.py Para captura automática via CRON use o arquivo crontab $ crontab -u $(whoami) crawlclima/crawlclima/cron_tasks Para editar o crontab $ crontab -e

Manual crontab.

Deploy crawlclima in container(Docker)

Get Docker

https://docs.docker.com/engine/install/ubuntu/

Install Docker Compose:

https://docs.docker.com/compose/install/

Build and run containers

Use the make command within the root directory AlertDengueCapture/:

$ make install_crawlclima
$ make build_crawlclima
$ make deploy_crawlclima
$ make stop_crawlclima