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.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6af7260e95a5cce2707423afb48e32bd4c1627c6f2574acb9af4b90ec4f3fc5c |
|
MD5 | c6d7ce281958c8548f35b62e1e40ee43 |
|
BLAKE2b-256 | 37a0e3eab776d8d9961888adfdbe7f701deb312d8ae324bd19a8bd8b3cae0ef8 |