---
name: job_status
lang: go
domain: infra
version: "1.0.0"
algebraic: sum
definition: |
  type JobStatus string

  const (
      JobStatusPending   JobStatus = "pending"
      JobStatusRunning   JobStatus = "running"
      JobStatusCompleted JobStatus = "completed"
      JobStatusFailed    JobStatus = "failed"
      JobStatusDead      JobStatus = "dead"
  )
description: "Estado del ciclo de vida de un job. Tipo suma con cinco variantes: pending, running, completed, failed, dead."
tags: [job, status, queue, async, infra]
uses_types: []
file_path: "functions/infra/job_queue_types.go"
---

## Notas

Tipo suma. Ciclo de vida normal: pending → running → completed. En error: pending → running → failed (reintentos posibles) → dead (sin mas intentos). Un job con `attempts >= max_attempts` pasa directamente a dead.
