Monitoramento de Jobs
A página Jobs exibe todos os jobs de implantação e seus status. Ela atualiza em tempo real via SSE (Server-Sent Events) — sem necessidade de recarregar a página manualmente.
Ciclo de vida do job
queued → in_progress → completed
→ failed
| Estado | Significado |
|---|---|
queued | Job criado, aguardando o agente buscar no próximo heartbeat |
in_progress | O agente iniciou a instalação via winget |
completed | winget encerrou com código 0; software instalado com sucesso |
failed | winget encerrou com código diferente de zero; veja a mensagem de resultado |
Lista de jobs
Cada linha exibe:
| Coluna | Descrição |
|---|---|
| Status | Badge colorido com o estado atual |
| Software | Nome de exibição do pacote no catálogo |
| Machine | Hostname da máquina alvo |
| Resultado | Saída do winget ao concluir ou falhar (clique em ▼ para expandir) |
| Criado | Timestamp relativo de quando o job foi enfileirado |
Agrupamento por lote
Jobs implantados na mesma operação (All online ou Tag group) compartilham um batch_id. Eles são agrupados com um cabeçalho expansível que exibe:
- Nome do pacote
- Número de máquinas no lote
- Timestamp da criação do lote
Clique no cabeçalho do lote para expandir/colapsar os jobs individuais.
Filtros
Filtre a lista por status usando as abas no topo da página:
- All — todos os jobs
- Queued — aguardando o agente
- In Progress — em execução
- Completed — concluídos com sucesso
- Failed — com falha
Um indicador ● Live no canto superior direito confirma que a conexão SSE está ativa.
Cancelar um job enfileirado
Você pode cancelar um job no estado queued clicando no botão Cancel na linha. Jobs já em in_progress não podem ser cancelados — eles são concluídos no lado do agente.
Atualização em tempo real (SSE)
A página Jobs mantém uma conexão SSE aberta com o servidor (GET /api/jobs/stream). Sempre que um job muda de estado — quando o agente reporta um resultado — a lista é atualizada automaticamente em até 3 segundos, sem polling manual.
Jobs com falha
Quando um job falha, a mensagem de resultado contém o código de saída do winget e a saída stderr. Motivos comuns:
| Causa | Mensagem típica |
|---|---|
| Pacote não encontrado no winget | No applicable upgrade found |
| Rede indisponível no cliente | Failed to connect to the source |
| Instalador bloqueado pelo AV | The process was terminated |
| Software já na versão mais recente | No applicable upgrade found |
Para falhas relacionadas ao AV, consulte Coexistência com GravityZone.