Aprendendo em um projeto prático como funciona serviço de mensageria "RabbitMQ"
[Orquestração de Tasks]
Sempre queria saber como funciona um serviço de mensageria, entao desenvolvi um projeto para orquestração de Tasks.
Fluxo do processo:
Demo:
O que é o projeto orquestração de Tasks?
O projeto consiste em gerar tasks "tarefas", abaixo um exemplo de uma task:
{
"task_name": "task1",
"priority": 1,
"repository_url": "https://github.com/username/projetoxxx.git"
}
Essa task fica armazenada em uma queue "Fila" no RabbitMQ, para que depois os agents.exe, possam consumir essa task conforme o nível de prioridade em ordem decrescente de 1 ate 5 e realizar a atividade.
Mas o que seria o agent.exe?
O agent.exe é o executável que vai ficar executando na maquina para buscar as tasks.
Depois de ele encontrar um task para executar, realizar as seguintes operações
- Realizar o download do script Python diretamente do GIT
- Montar o ambiente para a execução, de acordo com os requirements
- Executar o script
- Atualizar as informações no orchestrator após terminar de executar a tarefa.
Caso alguém tenha interesse em contribuir com o projeto ou saber mais, fica o repositório do Github para saber mais detalhes.