Template: Job¶
Objetivo¶
Padronizar a documentação de uma tarefa assíncrona (@shared_task do Celery).
Estrutura¶
# Job: `<nome_da_task>`
**Local:** `apps/<modulo>/tasks.py`
**Tipo:** Sob demanda (enfileirada por uma ação) | Periódica (Celery Beat)
## Disparo
- Sob demanda: o que enfileira a task (view, signal, outro service).
- Periódica: expressão do Beat (`crontab(...)`) real.
## Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| ... | ... | ... |
## O que faz
Passo a passo real da task.
## Idempotência
A task pode rodar mais de uma vez com o mesmo efeito? Se não, qual o risco.
## Retentativas
Configuração real de `retry`/`max_retries`, se houver.
## Falhas
Onde o erro aparece (log do sistema, Flower) e o que fazer se falhar.
Regra de preenchimento¶
Confirmar a task real em tasks.py e, se periódica, a entrada correspondente no Celery Beat (CELERY_BEAT_SCHEDULE ou equivalente) — não presumir agendamento.