nsj-queue-lib
raw JSON → 1.2.2 verified Mon Apr 27 auth: no python
Biblioteca para facilitar a implementação de filas e workers em Python, suportando RabbitMQ e PostgreSQL como backends. Atualmente na versão 1.2.2, requer Python >=3.4. Mantida pela Nasajon, com lançamentos esporádicos.
pip install nsj-queue-lib Common errors
error ModuleNotFoundError: No module named 'nsj_queue_lib' ↓
cause Pacote não instalado ou nome de módulo incorreto (hífen vs underscore).
fix
Execute
pip install nsj-queue-lib e use import nsj_queue_lib. error AttributeError: module 'nsj_queue_lib' has no attribute 'QueueService' ↓
cause Tentativa de importar usando `import nsj_queue_lib` e acessar diretamente, mas o símbolo precisa ser importado explicitamente.
fix
Use
from nsj_queue_lib import QueueService. error TypeError: Worker() got an unexpected keyword argument 'handler' ↓
cause O parâmetro foi renomeado de 'handler' para 'callback' na versão 1.2.0.
fix
Altere
handler=minha_funcao para callback=minha_funcao. Warnings
gotcha O nome do pacote usa hífen (nsj-queue-lib), mas o módulo Python usa underscore (nsj_queue_lib). Isso pode causar confusão na importação. ↓
fix Use `pip install nsj-queue-lib` para instalar, e `import nsj_queue_lib` no código.
breaking Na versão 1.2.0, o parâmetro 'callback' do Worker foi renomeado de 'handler' para 'callback'. Código antigo quebrará. ↓
fix Atualize para usar `callback` em vez de `handler` ao instanciar Worker.
deprecated O suporte a Python 3.4 e 3.5 pode ser removido em versões futuras. Considere atualizar para Python 3.6+. ↓
fix Use Python 3.6 ou superior.
Imports
- QueueService wrong
import QueueServicecorrectfrom nsj_queue_lib import QueueService - Worker wrong
from nsj_queue_lib.worker import Workercorrectfrom nsj_queue_lib import Worker
Quickstart
import os
from nsj_queue_lib import QueueService, Worker
# Exemplo de envio de mensagem
queue = QueueService(
host=os.environ.get('QUEUE_HOST', 'localhost'),
port=os.environ.get('QUEUE_PORT', 5672),
username=os.environ.get('QUEUE_USER', 'guest'),
password=os.environ.get('QUEUE_PASS', 'guest')
)
queue.send('my_queue', {'key': 'value'})
# Exemplo de worker
def process_message(msg):
print(f"Processed: {msg}")
worker = Worker(queue='my_queue', callback=process_message)
worker.start()