> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Tareas en segundo plano

Trabajo durable a través del contrato JobRunner y Trigger.dev.

## Configuración y ajustes

Antes de cualquier paso, lea [Antes de comenzar](https://supastack.dev/es/docs/web/before-you-start.md) y [Conceptos básicos del terminal](https://supastack.dev/es/docs/web/terminal-basics.md). Estas instrucciones suponen que abrió el monorepo supastack completo en VS Code; su paquete raíz.json marca la raíz del repositorio. En los comandos pnpm, un paquete de espacio de trabajo es una aplicación o una carpeta de código compartido; En el producto, un espacio de trabajo es el contenedor de datos y el límite de seguridad de un equipo. corepack pnpm --filter ... selecciona un paquete del monorepo mientras los comandos se ejecutan desde su raíz. Si abrió solo una carpeta sincronizada para dispositivos móviles o de escritorio, no contiene el backend web, la configuración de Docker ni los scripts raíz: ejecute el backend desde este monorepo o un servidor alojado accesible y use los propios scripts de la carpeta de la plataforma. Una variable de entorno es una configuración con nombre almacenada en un archivo .env local o en su panel de hosting; reinicie la aplicación correspondiente después de cambiarla y mantenga los secretos del servidor fuera de los valores NEXT_PUBLIC_ y EXPO_PUBLIC_.

1. Abra apps/web/src/job-handlers.ts y apps/web/src/scheduler-runtime.ts en VS Code. Un trabajo es un trabajo de fondo; el planificador decide cuándo ponerlo en cola.

2. Para un tick local, configure el mismo SCHEDULER_TICK_SECRET en apps/web/.env.local y la raíz del repositorio .env; el script de marca lee el .env raíz, mientras que el punto final web lee la configuración de su aplicación.

3. Inicie Web con corepack pnpm --filter @supastack/web dev, luego ejecute corepack pnpm jobs:tick desde la raíz. Se esperaba: el terminal muestra un resultado POST de localhost:3000. Trigger.dev es un proveedor independiente y necesita su propia cuenta y claves de servidor.

Configura JOB_PROVIDER=trigger con TRIGGER_SECRET_KEY y TRIGGER_PROJECT_REF solo del servidor para enviar tareas de producción. Revisa apps/web/trigger.config.ts y la tarea ai.generate en apps/web/trigger antes de configurar el proyecto de destino.

```
JOB_PROVIDER=trigger
TRIGGER_PROJECT_REF=your-project-reference
# Provide TRIGGER_SECRET_KEY through the server secret store.
# Local/self-hosted scheduler tick:
# SCHEDULER_TICK_SECRET=…
# SCHEDULER_TICK_URL=http://localhost:3000
```


## Comandos para copiar

Siga los comentarios para ver en qué carpeta se ejecuta un comando. Si dos terminales están etiquetados, abra dos ventanas de terminal y mantenga el primer comando ejecutándose mientras usa el segundo.

```
# Terminal 1 — start the Web app from the monorepo root:
corepack pnpm --filter @supastack/web dev

# Terminal 2 — run one scheduler tick from the monorepo root:
corepack pnpm jobs:tick
```


## Flujo de implementación

El contrato compartido de JobRunner garantiza encolado, estado y cancelación. Trigger.dev gestiona la semántica propia del flujo de trabajo; no deduzcas garantías de programación, reintentos o durabilidad de la interfaz genérica.

El ID duradero de tarea de la aplicación conecta el despacho, la ejecución del worker, los registros de uso y los resultados. Si falla la asociación de metadatos de una ejecución del proveedor después de confirmar el encolado, no se debe volver a encolar ni invalidar el trabajo aceptado.


## Verificación y solución de problemas

Si la marca devuelve 404, confirme que el secreto existe en ambos archivos de configuración y que coincida exactamente, luego reinicie Web. Si el terminal dice que se rechazó la conexión, primero inicie Web. Si no se ejecutó ningún trabajo, verifique que haya un cronograma habilitado y vencido; un tick no hace que una programación futura se ejecute inmediatamente.

Verifica que el identificador de tarea desplegado y el proyecto coincidan con el entorno configurado. Distingue la aceptación del encolado de la finalización del flujo y de la entrega del correo. Lee docs/production-ai-runtime.md para conocer la recuperación y los diagnósticos seguros antes de reintentar tareas manualmente.


## Siguiente

[Email y correo](https://supastack.dev/es/docs/web/email.md)
