Step 06 · Execution layer · Execution layer · Swarm: orquestração de tarefas ENPT
Alembic Complete Visual Course

Swarm: orquestração de tarefas

Uma fila de tarefas durável e limitada em profundidade que estaciona trabalho T4 e retoma após crashes.

Read the plain version, or open the technical layer on any section.
1

Tarefas com memória


@alembic/swarm pega um RunSpec (um objetivo mais tarefas) e as drena. Tarefas declaram dependências; a fila as promove quando prontas. Tarefas T4 são estacionadas em t4-parked.jsonl e nunca executam autonomamente.

Cada mudança de estado é registrada em events.jsonl. Se o processo crashar, reexecutar o mesmo spec retoma do mesmo diretório porque o run id é content-addressed.

Pense assim… um gerente de projeto com um quadro branco e uma câmera: o quadro mostra tarefas atuais, e a câmera grava cada movimento para que nada se perca.

Under the hood

O orquestrador suporta três níveis de profundidade: orchestrator → lead → worker (MAX_DEPTH = 2). Leads podem fan out subtasks com metadata de ramp. Workers escrevem arquivos de report e os renomeiam atomicamente para .complete.md ou .failed.md. JsonlStore é o journal autoritativo; SqliteIndex é um cache derivado opcional.

2

In one picture


Orchestrator Lead A Lead B Lead C worker worker worker worker
O orquestrador fan out leads; leads fan out workers; a profundidade é limitada a dois.
3

In the code


# execute um spec swarm
alembic run tasks.json --offline

# assista ao vivo
alembic tui <run-id>

Implementation notes

Um TaskSpec carrega id, title, tier, dependsOn, roleHint e metadata. partitionByAutonomy divide tarefas em conjuntos autônomos e estacionados. O orquestrador drena tarefas prontas com um worker pool limitado e escreve cada evento para a store.

4

Try it


Crie um tasks.json com duas tarefas dependentes e execute offline. Observe o arquivo de eventos crescer.

Preveja: O que acontece se um processo worker for morto no meio de uma tarefa?
5

Quick check


Qual arquivo guarda tarefas T4 estacionadas?