1
resposta

Airflow para utilizar em produção

Boa tarde pessoal.

Quero configurar um apache airflow para ser usado em produção, porém, não consigo resolver a questão do armazenamento permanente do flask.

Ao iniciar o webserver, aparece a mensagem abaixo:

/home/airflow/venv/lib/python3.9/site-packages/flask_limiter/extension.py:333 UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend. [2024-08-26T21:59:57.772-0300] {workday.py:41} WARNING - Could not import pandas. Holidays will not be considered.

Consultando a documenteção, constatei que é necessário realizar a configuração em /path ambiente python/lib/python3.9/site-packages/airflow/www/app.py instroduzindo dentro da função 'create_app' as sequintes linhas:

limiter = Limiter(
  get_remote_address,
  app=app,
  storage_uri="redis://localhost:6379",
  storage_options={"socket_connect_timeout": 30},
  strategy="fixed-window", # or "moving-window"
)

Porém, mesmo realizando o procedimento e reiniciando os serviços, a questão do armazenamento não permanente continua.

O que fazer?

1 resposta

Oii, Jefferson! Como vai?

Antes de tudo, a mensagem que você está recebendo é “Warning”, um aviso, no qual poderia não interferir na continuidade do curso. Você poderia verificar se consegue continuar normalmente os passos seguintes da aula, por gentileza?

Caso não dê, esse aviso pode estar se referindo que apesar das configurações feitas em path ambiente, o flask está usando o armazenamento de memória padrão ao invés de usar o Redis.

Então revise se o flask-limiter com suporte do Redis está instalado digitando esse comando:

redis-cli ping

Caso retorne ”PONG” é porque o Redis está instalado e funcionando. Do contrário, é preciso configurá-lo

pip install redis
pip install flask-limiter

Outra sugestão, é instalar uma versão mais recente do Airflow mais recente para que seja compatível com o Python que está usando.

Além disso, a mensagem também informa que não conseguiu localizar a biblioteca Pandas, peço que verifique se o Pandas foi instalado seguindo os passos da atividade Preparando ambiente: Instalando bibliotecas.

Espero que dê certinho por aí. Qualquer dúvida, conte conosco no fórum.

Bons estudos, Jefferson!