Skip to main content

Biblioteca para facilitar a implementação de filas e workers.

Project description

nsj-queue-lib

Biblioteca para facilitar a implementação de filas e workers, com duas principais capacidades:

  • Enfileiramento transacionado com o processo (alteração de banco) que deu origem à mensagem na fila.
  • Retirada da fila transacionada com o processo de consumo em si de cada mensagem.

Funcionamento

TODO

Como Usar

TODO

Ambiente de Desenvolvimento

Montando o ambiente

Siga os passos a seguir para montar o ambiente de desenvolvimento:

  1. Faça uma copia do arquivo .env.dist com nome .env.
  2. Ajuste a variável PYTHONPATH contida no arquivo .env.
  3. Crie um ambiente virtual do python (para isolamento dos projetos):

python3 -m venv .venv

  1. Inicie o ambiente virtual:

source ./.venv/bin/activate

  1. Instale as dependências, no ambiente virtual:

pip install -r requirements.txt

  1. Construa a imagem docker de base dos workers, e dos testes:

docker build -t worker_teste .

  1. Inicie o banco de dados de exemplo:

docker-compose up -d postgres

  1. Inicie o worker de consumo da fila:

docker-compose up -d worker

  1. Execute os testes automáticos, para garantir que esteja tudo rodando:

docker-compose up tests

Após concluir o desenvolvimento, sugere-se para e remover as imagens criadas (para não ficarem rodando de modo indefinido, consumindo recursos de sua máquina):

make stop make remove

Obs.: Os comandos detalhados no passo a passo de construção do ambiente, podem ser executados pelo make (simplificando um pouco). Mas, foram apresentados os detalhes, para dar real noção do que é utilizado em ambiente de desenvolvimento.

Testes automatizados

Por hora, apenas o teste do fluxo principal está implementado, e o mesmo pode ser executado por meio do comando abaixo (após inicializar todo o ambiente de desenvolvimento):

make tests

Versionando o projeto

Pré-requisito:

make install_to_pkg

Passos para construir e enviar uma nova versão ao PyPi:

  1. make build_pkg
  2. make upload_pkg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsj_queue_lib-0.1.2.tar.gz (12.5 kB view hashes)

Uploaded Source

Built Distribution

nsj_queue_lib-0.1.2-py3-none-any.whl (16.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page