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:
- Faça uma copia do arquivo
.env.dist
com nome.env
. - Ajuste a variável PYTHONPATH contida no arquivo
.env
. - Crie um ambiente virtual do python (para isolamento dos projetos):
python3 -m venv .venv
- Inicie o ambiente virtual:
source ./.venv/bin/activate
- Instale as dependências, no ambiente virtual:
pip install -r requirements.txt
- Construa a imagem docker de base dos workers, e dos testes:
docker build -t worker_teste .
- Inicie o banco de dados de exemplo:
docker-compose up -d postgres
- Inicie o worker de consumo da fila:
docker-compose up -d worker
- 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:
- make build_pkg
- make upload_pkg
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nsj_queue_lib-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7677620d07a10eb63a434d0211bc613864d3311754e732160a7a27bd115e375 |
|
MD5 | a4a7ce6ba682dcbb2fb8e50836926eca |
|
BLAKE2b-256 | 8f9b2fa796ee3a4c974b072e1f091afb77379cda32c2f7b155eb13fed298a07c |