https://github.com/raulpy271/django_asynchronous
🎌 Processamento de tarefas assincronas utilizando: Django, Celery, RabbitMQ e Docker.
https://github.com/raulpy271/django_asynchronous
celery data-processing django docker docker-compose parsing rabbitmq
Last synced: 7 days ago
JSON representation
🎌 Processamento de tarefas assincronas utilizando: Django, Celery, RabbitMQ e Docker.
- Host: GitHub
- URL: https://github.com/raulpy271/django_asynchronous
- Owner: raulpy271
- Created: 2021-05-13T22:22:49.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-23T10:34:49.000Z (about 4 years ago)
- Last Synced: 2023-03-10T10:26:31.056Z (over 2 years ago)
- Topics: celery, data-processing, django, docker, docker-compose, parsing, rabbitmq
- Language: Python
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# django Asynchronous
Este projeto utiliza django/celery para processamento de dados assincrono.
Como exemplo, é criado um app que processa informações de linguagens de programação a partir de diferentes arquivos,
após o processamento os dados são armazenados de forma unificada, e são apresentados ao usuário.> No momento, toda a arquitetura está pronta(os containers conseguem conectar com o rabbit e com o db). Além disso, são processados dados em arquivos `csv`, `tsv`, excel, `yml`, `json`e `pdf`. Como melhoria, eu sugiro fazer o paginação dos dados enviados pela API ao client, isto torna mais leve as respostas do servidor, e o faz responder mais rápido.
# Arquitetura

este projeto é formado por 3 containers. O primeiro trata-se de uma servidor web com django, enquanto o segundo tem utilizadade de processar tarefas custosas de forma asincrona.
Ambos compartilham um banco de dados (no momento é SQLite3, por simplicidade). Por útlimo, há uma plataforma de mensageria que conecta os containers inÃciais.
# Como executar
Criar a imagem do app:
```
docker build -t app .
```Subir os containers:
```
docker-compose --log-level INFO up -d
```Agora, o app está escutando em [localhost](http://localhost:8000).