---
title: "Tareas programadas: ejecuta trabajos a horas fijas | Briks"
url: https://briks.dev/es/docs/crons
description: "Tareas programadas en tu sitio: resumen matinal, limpieza semanal. Escribe el horario, revisa cada ejecución, corrige fallos y ve los límites del plan."
last_updated: 2026-10-08
---

# Tareas programadas: ejecuta trabajos a horas fijas

Una tarea programada ejecuta algo en tu sitio a horas fijas sin que nadie pulse un botón: un resumen cada mañana, una limpieza cada domingo por la noche. Las encuentras en **Settings** del proyecto, en **Scheduled tasks**. Esta página muestra cómo configurar una, leer sus ejecuciones y arreglar una que falla.

8 minutos de lectura Comprobado con el estudio el 8 de octubre de 2026

## Qué hace una tarea programada

Una tarea programada es una llamada que Briks hace según un horario. Llama a una **ruta** de tu sitio (una dirección bajo `/api/` que ejecuta código en lugar de mostrar una página) o a otra dirección https pública, como un servicio que usas. La dirección hace el trabajo. Briks hace la llamada a su hora y registra lo que responde.

Así que una tarea necesita algo a lo que llamar. Si tu sitio aún no tiene una ruta para ese trabajo, pídela primero en el estudio y luego apunta una tarea hacia ella. Si todavía no hay tareas, la página dice **No scheduled tasks** y resume los trabajos habituales: enviar un resumen diario, limpiar registros antiguos o sincronizar con otro servicio.

Las tareas se ejecutan estén o no publicados los sitios, a las horas que fijes, en la zona horaria que elijas. La sección tiene tres vistas: **Tasks**, **Runs** y **Settings**.

Dónde

1. Projects
2. Your project
3. Settings
4. Scheduled tasks

## Límites de cada plan

| Plan | Tareas programadas por proyecto | Llamadas al día por proyecto |
| --- | --- | --- |
| Free | 1 | 2,000 |
| Starter | 5 | 5,000 |
| Pro | 10 | 10,000 |
| Studio | 25 | 50.000 |
| Agency | 50 | 100.000 |

Las llamadas al día se comparten entre las ejecuciones de tareas y los intentos de entrega de webhooks, y el día empieza a medianoche UTC.

La vista **Tasks** muestra en qué punto estás, por ejemplo 2 de 5 en tu plan, y **Add task** aparece en gris cuando llegas al límite. Entonces aparece un enlace **Get more** junto al contador que abre la ventana de mejora de plan, donde se nombra el plan más pequeño con espacio para otra tarea. Una ejecución que superaría las llamadas del día se marca como **Skipped**. Los planes se comparan en [Facturación](https://briks.dev/es/docs/billing).

Elige un intervalo razonable

Una tarea que se ejecuta cada minuto hace 1.440 llamadas al día por sí sola. En el plan Free, con 2.000 llamadas al día, eso deja poco margen para otra cosa. Cada 5 o 15 minutos basta para la mayoría de los trabajos, y una vez al día es suficiente para los resúmenes.

## Añadir una tarea programada

1. Pulsa Add task

   Dónde: Settings, Scheduled tasks

   Se abre el diálogo **Add a scheduled task**. Editors, Admins y Owners pueden añadir tareas.

2. Ponle nombre

   Dónde: Add a scheduled task

   Ponle un nombre corto que reconozcas en la lista de ejecuciones, como `Daily digest`. Hasta 60 caracteres.

3. Fija la programación

   Dónde: Add a scheduled task

   Escribe una programación en **Schedule** o pulsa uno de los botones que hay debajo. La siguiente sección explica el formato.

4. Elige la zona horaria

   Dónde: Add a scheduled task

   **Time zone** empieza con la tuya. Un cuadro debajo muestra la programación con palabras y las próximas cinco veces que se ejecutará allí, para que la compruebes antes de guardar.

5. Di lo que pide

   Dónde: Add a scheduled task

   En **What it calls**, elige **A route on this site** y escribe su ruta (empieza por `/api/`), o **Another address** y escribe una dirección https completa. Si es una ruta, la pista bajo el cuadro muestra la dirección completa a la que se llamará.

6. Elige POST o GET

   Dónde: Add a scheduled task

   **POST** envía un mensaje corto con la llamada, que es lo que esperan la mayoría de las rutas creadas para una tarea. **GET** solo pide la dirección. Si no estás seguro, deja POST.

7. Guardar

   Dónde: Add a scheduled task

   Pulsa **Add task**. Solo se guarda cuando el programador la ha aceptado, así que todas las tareas de la lista son tareas que se ejecutan.

## Escribir un horario

Una programación son cinco valores separados por espacios: minuto, hora, día del mes, mes y día de la semana. Un `*` significa cada uno. Si lo que escribes no se puede leer, el cuadro indica qué falla, por ejemplo qué valor está fuera de rango.

| Quieres | Tipo | La vista previa dice |
| --- | --- | --- |
| Cada mañana a las 7 | `0 7 * * *` | Todos los días a las 07:00 |
| De lunes a viernes a las seis y media de la tarde | `30 18 * * 1-5` | Cada día laborable a las 18:30 |
| Cada 15 minutos | `*/15 * * * *` | Cada 15 minutos |
| Cada dos horas, en punto | `0 */2 * * *` | Cada 2 horas, en punto |
| Los domingos a las 11 de la noche | `0 23 * * 0` | Todos los domingos a las 23:00 |
| El día 1 de cada mes a las 6 de la mañana | `0 6 1 * *` | El día 1 de cada mes a las 06:00 |

Los días de la semana van de 0 (domingo) a 6 (sábado), y 7 también es domingo. También puedes escribir nombres como `mon` o `jan`, listas como `1,3,5`, rangos como `1-5` y intervalos como `*/10`. También funcionan los atajos: `@hourly`, `@daily`, `@weekly`, `@monthly` y `@yearly`.

Los botones bajo el cuadro lo rellenan por ti: **Every 5 minutes**, **Every hour**, **Every day at 09:00**, **Mondays at 09:00** y **First of the month**.

Dos detalles

Si limitas tanto el día del mes como el día de la semana, se ejecuta un día que coincida con cualquiera de los dos. Y cuando cambia la hora, una hora que se repite se ejecuta una vez, mientras que una hora que el reloj salta se ejecuta justo después del cambio, así que una tarea diaria a las 02:30 nunca se pierde.

## Qué incluye cada llamada

Una tarea espera hasta 30 segundos una respuesta. Cada llamada lleva un `user-agent` de `Briks-Cron/1.0` y una cabecera `x-briks-cron` con el id de la tarea, para que la ruta sepa de dónde viene la llamada. Una llamada POST también envía un breve mensaje JSON (JSON es un formato de texto plano que leen los programas) que nombra la tarea:

El cuerpo de una llamada POST

> `{"cron":{"id":"…","name":"Daily digest"},"trigger":"schedule","scheduledFor":"2026-10-09T06:00:00.000Z"}`

`trigger` es `manual` cuando alguien pulsó **Run now**, y entonces `scheduledFor` es `null`.

Briks no llamará a una dirección de una red privada, a una dirección escrita con números ni a una de sus propias direcciones, y no sigue redirecciones, así que indica la dirección final. Las llamadas a una ruta de tu sitio van a su dirección `briks.live`, y si cambias esa dirección, las llamadas la siguen.

## Ejecuciones y qué significa cada estado

Dónde

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Runs

**Runs** lista todas las ejecuciones de los últimos treinta días, de la más reciente a la más antigua, programadas o iniciadas a mano. Una ejecución iniciada a mano lleva una etiqueta **By hand**. Si tienes más de una tarea, elige una en el cuadro sobre la lista y pulsa **Show**. Haz clic en una ejecución para ver el método y la dirección a la que llamó, cualquier error y el comienzo de lo que respondió la dirección.

| Estado | Qué pasó |
| --- | --- |
| **Succeeded** | La dirección respondió con un estado 2xx, el código de la web para indicar éxito. |
| **Failed** | Cualquier otra cosa: un estado distinto (404 significa no encontrado, 500 significa que falló el código que hay detrás), ninguna respuesta en 30 segundos, una redirección o una dirección a la que no se pudo llegar. |
| **Skipped** | Se agotaron las llamadas del día para el proyecto. La ejecución indica: Today's calls for this project are used up. Las ejecuciones se reanudan después de medianoche (UTC). |

La vista **Tasks** muestra lo mismo de un vistazo: **Next** y la hora de la próxima ejecución, **Last** con el último estado, o **Not run yet**.

## Cuando falla una ejecución

Una ejecución fallida se registra y no se repite. La siguiente llega a su hora habitual. Tampoco se recuperan las ejecuciones perdidas mientras nada podía ejecutarlas: la tarea se ejecuta una vez y sigue desde ahí.

Cuando hayas corregido la causa, abre los tres puntos de la tarea y elige **Run now**. El resultado aparece enseguida, por ejemplo: Daily digest ran: the address answered 200 in 312 ms. Puedes ejecutar una tarea a mano hasta 20 veces por hora, y cada ejecución cuenta para las llamadas del día.

| Lo que dice la ejecución | Qué hacer |
| --- | --- |
| respondió 404 | No hay ninguna ruta en esa dirección. Revisa la ortografía y que la versión con la ruta esté publicada. |
| respondió 500 | La propia ruta falló. Abre [Logs](https://briks.dev/es/docs/logs), elige **Requests** y busca la ruta para leer el error. |
| Sin respuesta en 30 segundos. | La tarea tarda demasiado de una sola vez. Pide en el estudio la ruta para hacer menos en cada llamada, y ejecútala más a menudo. |
| No se siguen las redirecciones: usa la dirección final. | Abre la dirección en un navegador, copia la dirección en la que termina y cambia la tarea a esa. |
| Esa dirección apunta a una red privada y no se puede llamar. | Usa una dirección pública. Briks nunca se conecta a redes privadas. |

Haz que las tareas sean seguras de repetir

Cualquiera que conozca la dirección de una ruta puede llamarla, y pulsarás **Run now** mientras pruebas. Pide rutas que no causen daño si se ejecutan dos veces: borra los registros con más de 90 días en lugar de los 50 más antiguos.

## Pausar, cambiar o eliminar

El interruptor junto a cada tarea la pausa (aparece una etiqueta **Paused**) y la reactiva. En sus tres puntos, **Change** abre el mismo formulario, titulado **Change task**, y **Delete** la detiene y elimina su historial de ejecuciones. Todo esto requiere permisos de edición.

Dónde

1. Projects
2. Your project
3. Settings
4. Scheduled tasks
5. Settings

La vista **Settings** tiene **Download JSON**, un archivo con el nombre, el horario, la zona horaria y la dirección a la que llama cada tarea. Su zona de peligro incluye **Clear history** (las tareas siguen ejecutándose) y **Delete all** (escribes el nombre del proyecto para confirmar). Ambas son para Owners y Admins.

## Ejemplos prácticos

Preguntado en el estudio Un resumen diario para una clínica de fisioterapia

> Añade una ruta en /api/daily-summary que me envíe por email las solicitudes de cita de ayer en un solo mensaje.

Tras publicar el cambio, la clínica añade una tarea programada llamada `Daily summary` con el horario `0 7 * * *`, zona horaria Europe/London, que llama a POST `/api/daily-summary`. Cada mañana a las siete llega el resumen.

El resumen se envía mediante el correo propio del sitio, que está desactivado hasta que lo actives. Consulta [Correo del sitio](https://briks.dev/es/docs/site-email) para saber cómo hacerlo y cuál es el límite mensual.

Preguntado en el estudio Borrar registros antiguos en una agencia de tutorías

> Añade una ruta en /api/tidy-enquiries que borre las consultas con más de 90 días.

Una tarea llamada `Tidy enquiries` la ejecuta con `0 23 * * 0`, cada domingo a las 23:00. El lunes, **Runs** muestra **Succeeded**, y al abrir la ejecución ves lo que respondió la ruta.

Antes de ejecutar por primera vez una limpieza como esta, guarda un punto de restauración en los ajustes de la pestaña Database. Si la ruta borra más de lo debido, puedes volver atrás. Consulta [Backups](https://briks.dev/es/docs/backups).

## Sigue leyendo

- [Datos y automatización **Webhooks** Envía un mensaje firmado a otra herramienta cuando se publique tu sitio, se envíe un formulario o cambie un registro. Cargas, firmas, reintentos y entregas.](https://briks.dev/es/docs/webhooks)
- [Datos y automatización **Logs** Lee el registro de construcción y las peticiones de tu sitio del último día, filtra por nivel o estado y busca un formulario, tarea o página lenta con fallos.](https://briks.dev/es/docs/logs)
- [Las funciones de tu sitio **Correo del sitio** Envía confirmaciones y respuestas desde la dirección de tu sitio en emails.briks.live, elige dónde llegan respuestas y controla el uso de tu cupo mensual.](https://briks.dev/es/docs/site-email)
- [Datos y automatización **Database** Descubre qué guarda tu sitio, edita y añade registros a mano y descarga colecciones en JSON o CSV, con quién puede hacer qué y los límites que se aplican.](https://briks.dev/es/docs/database)

¿Sigues atascado?

Escribe a [hello@briks.dev](mailto:hello@briks.dev) con el nombre de tu proyecto y lo que esperabas ver. Una captura de pantalla ayuda.
