Este é um exemplo simples de um sistema de fila que visa o processamento de resultados de apostas realizadas. Utilizamos o Celery + RabbitMQ para fila e processamento, além do Flower para um monitoramento adequado da fila.
- Criar o ambiente virtual python utilizando o comando
python -m venv env
, ative usando oactive.bat
em env/Scripts - Instalar o Celery utilizando
pip install celery
- Criar uma task (para exemplo, temos o arquivo task.py)
- Instalar o docker
- Caso deseje, configure o docker-compose.yml
- Subir o container utilizando o comando
docker compose up
- Iniciar um worker, utilizando o comando
celery -A task worker -l info --pool=solo
- Instalar o flower para monitorar melhor a execução do sistema de fila, o comando de instalação é
pip install flower
- Rodar o flower em conjunto com o celery, utilizando o comando
celery -A task flower --address=127.0.0.6 --port=5566
, após isso temos acesso a interface web do flower na urlhttp://127.0.0.6:5566/tasks
- Adicionar itens a fila, utilizando o comando
python app.py
Agora você já pode acompanhar o processamento na interface web do flower.