Skip to content
This repository has been archived by the owner on Aug 4, 2022. It is now read-only.
/ airflow Public archive

Schedule and monitor workflows of Parlametria

Notifications You must be signed in to change notification settings

parlametria/airflow

Repository files navigation

Airflow Parlametria

Esse README irá descrever como fazer o settup do ambiente do airflow.

É utilizado o docker e docker-compose para a execução do airflow:

Variáveis de ambiente

  • Crie um arquivo chamado .env e cole nele as variáveis do .env.example, os valores são os mesmos utilizados pelo leggo-geral;
  • Crie um arquivo .env.leggo-twitter-dados, os valores são os mesmo do repositório leggo-twitter-dados
  • Há uma variável que não está no leggo-geral, a LEGGO_HOME_FOLDERPATH, essa variável é o caminho global até a pasta acima do airflow, ex:
    LEGGO_HOME_FOLDERPATH=/home/user/parlametria/
    
    ├── parlametria/
    │   ├── airflow/
    │   ├── leggoR/
    │   ├── leggo-twitter/
    │   ├── leggo-twitter-dados/
    │   ├── ...
    

Pre-instalação

O airflow usa os mesmos containers das builds do setup do leggo-geral, então é necessário buildar todos os repositórios listados no setup do leggo-geral. Não é necessário buildar o leggo-geral em si mas os demais repositórios listados no setup deste.

Setup ambiente de desenvolvimento

Instalação

Tendo o docker o docker-compose instaladados para fazer a build basta fazer:

Primeiramente, faça um build:

make dev-build

Em seguida, para fazer o settup do banco de dados:

make dev-bash

Estando dentro do container execute:

airflow db init

Após o settup do banco, ainda dentro do container, crie um usuário admin:

airflow users create \
    --username admin \
    --firstname Peter \
    --lastname Parker \
    --role Admin \
    --email spiderman@superhero.org

Utilização

Com o seu ambiente devidamente preparado, para executar o airflow mas utilizar os comandos do Makefile: make dev-webserver para o webserver e make dev-scheduler para o scheduler, caso queira executar ambos tem o comando make dev-up.

  • make webserver: aplicação web que possibilita o gerenciamento das Dags.
  • make scheduler: serviço que busca por novas Dags na pasta dags e também é responsável por executar-las de acordo com o settup do schedule_interval e start_date de cada Dag.

Para a ativação das Dags é necessário que ambos webserver e scheduler estejam sendo executados simultaneamente, mas uma vez ativada apenas o scheduler é necessário.

Setup ambiente de produção

Instalação

Tendo o docker o docker-compose instaladados para fazer a build basta fazer:

Primeiramente, faça um build:

make prod-build

Em seguida, para fazer o settup do banco de dados:

make prod-bash

Estando dentro do container execute:

airflow db init

Após o settup do banco, ainda dentro do container, crie um usuário admin:

airflow users create \
    --username admin \
    --firstname Peter \
    --lastname Parker \
    --role Admin \
    --email spiderman@superhero.org

Utilização

Com o seu ambiente devidamente preparado, para executar o airflow mas utilizar os comandos do Makefile: make prod-webserver para o webserver e make prod-scheduler para o scheduler, caso queira executar ambos tem o comando make prod-up.

  • make webserver: aplicação web que possibilita o gerenciamento das Dags.
  • make scheduler: serviço que busca por novas Dags na pasta dags e também é responsável por executar-las de acordo com o settup do schedule_interval e start_date de cada Dag.

Para a ativação das Dags é necessário que ambos webserver e scheduler estejam sendo executados simultaneamente, mas uma vez ativada apenas o scheduler é necessário.

About

Schedule and monitor workflows of Parlametria

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published