# Cómo funciona la programación

> Programaciones, horarios, cambios, periodos y ejecuciones: las ideas detrás de Metascheduler y lo que pasa en cada momento.

Documentación · 3 min de lectura · Actualizado el 4 de noviembre de 2026

## Los elementos básicos

Una **programación** es una entrada de tu calendario. Tiene un nombre, un **horario** y una lista de **cambios**.

Un **cambio** es un tipo de edición en un conjunto de elementos: "descontar un 20 % en estas 140 variantes", o "reemplazar el menú principal por el menú de Black Friday". Cada cambio tiene:

- un **tipo de cambio**, como Precios de variantes o Menú de navegación ([todos los tipos](https://metascheduler.app/es/help/change-types.md));
- los **elementos** que cambia, como productos, entradas o un menú;
- lo que hace al **inicio**;
- lo que pasa **al final**: **Revertir**, **Cambiar a otro valor** o **Mantener**.

Los cambios se ejecutan en el orden en que aparecen en la lista.

## Horario

> **Pruébalo:** [Cómo se ejecuta una programación](https://metascheduler.app/es/help/how-scheduling-works)

| Horario | Se ejecuta | Al final |
| --- | --- | --- |
| **Una vez** | Una sola vez, en una fecha y hora. | Nada: sus cambios se mantienen, como un Lanzamiento de los despliegues. |
| **Periodo** | Desde un inicio hasta un final. | Cada cambio sigue su opción de final, como un Evento de los despliegues. |
| **Repetir** | Un periodo que se repite cada día, semana o mes. | Cada periodo se revierte en su propio final. |
| **Seguir un despliegue** | Cuando un despliegue de Shopify se activa. | Cuando el despliegue termina, según lo que hayas elegido. |

Cada programación tiene su propia **zona horaria**. Las horas se guardan con exactitud y se muestran en la zona de la programación.

## Estados

Una programación pasa por estos estados:

1. **Borrador**: se está configurando. Nunca se ejecuta.
2. **Programada**: espera su inicio.
3. **En vigor**: sus cambios están hechos ahora.
4. **Finalizada**: se ejecutó, y no queda nada pendiente.

También puedes **Pausar** una programación (no empieza nada nuevo; lo que esté en vigor se revierte igualmente al final) o **Archivarla** (no volverá a ejecutarse; lo que esté en vigor se revierte igualmente). Una programación finalizada o archivada no se puede editar: selecciona **Duplicar** para ejecutarla otra vez.

## Qué pasa al inicio

Para cada elemento, Metascheduler:

1. lee el valor actual y lo guarda (la instantánea);
2. escribe el valor nuevo;
3. guarda lo que escribió.

Si un elemento ya tiene el valor, no se escribe nada. Un porcentaje siempre se calcula a partir del valor guardado, así que un reintento nunca descuenta un 20 % dos veces.

## Qué pasa al final

Para cada elemento, según la opción de final del cambio:

- **Revertir**: si el valor actual sigue siendo el que escribió Metascheduler, restaura el valor guardado. Si alguien lo cambió, no lo toca y te pregunta. Consulta [Cómo funciona la reversión](https://metascheduler.app/es/help/undo-and-drift.md).
- **Cambiar a otro valor**: escribe el valor final que elegiste.
- **Mantener**: no hace nada.

## Ejecuciones con retraso

Metascheduler ejecuta cada inicio y cada final una sola vez, a su hora. Si no puede ejecutarlo a tiempo (por ejemplo, porque Shopify estaba caído), sigue estas reglas:

| Situación | Qué pasa |
| --- | --- |
| Un inicio con hasta 5 minutos de retraso | Se ejecuta con normalidad. |
| Un inicio más tardío, dentro de su periodo | Se ejecuta y se marca como **Con retraso**. |
| Un inicio cuyo periodo ya terminó | Se omite y aparece en **Requiere tu acción**. Su final se cancela. |
| Un final, con el retraso que sea | Siempre se ejecuta. Restaurar es lo más seguro. |
| Un cambio de una sola vez con más de un día de retraso | Espera tu decisión en **Requiere tu acción**: **Ejecutar ahora** u **Omitir**. |

**Ejecutar ahora**, **Reintentar** y los inicios de despliegues no se rigen por estas reglas.

## Reintentos

Cuando Shopify está saturado o no responde, Metascheduler espera y lo vuelve a intentar, hasta 5 veces, con esperas cada vez más largas. Un cambio que Shopify rechaza (un valor no permitido, un elemento que ya no existe) no se reintenta: ese elemento falla y el resto continúa, y la ejecución muestra **Completada en parte**.

## Conflictos

Cuando dos programaciones cambian el mismo elemento en momentos que se solapan, el editor lo muestra en **Conflictos** y el calendario marca ambas. Es una advertencia, no un bloqueo: las reglas de reversión segura evitan que el solapamiento pise a ninguna de las dos.

## Artículos relacionados

- [Cómo funciona la reversión](https://metascheduler.app/es/help/undo-and-drift.md): Metascheduler guarda lo que reemplaza y comprueba antes de restaurarlo, así que nunca sobrescribe una edición que alguien haya hecho mientras tanto.
- [Programa tu primer cambio](https://metascheduler.app/es/help/first-schedule.md): Crea una programación con un inicio y un final, agrega un cambio, revisa la vista previa y prográmala.
- [Glosario](https://metascheduler.app/es/help/glossary.md): Las palabras que usa Metascheduler y los estados que verás en las programaciones, las ejecuciones y los elementos.
