Cron Jobs
Cron Jobs
Sección titulada «Cron Jobs»La función Cron Jobs te permite crear URLs de endpoint únicas que, al activarse, cierran automáticamente todos los registros activos de seguimiento de tiempo para un conjunto específico de estaciones de trabajo. Esto es útil para terminar turnos, cerrar temporizadores no finalizados al final del día o coordinarse con programadores externos (cron del servidor, plataformas de automatización, webhooks programados).

Visión general
Sección titulada «Visión general»Cada cron job consta de:
| Campo | Descripción |
|---|---|
| Nombre | Una etiqueta amigable que describe lo que hace el cron job (por ejemplo, “Fin del día — equipo de ensamblaje”). Este nombre también se utiliza como asunto del correo electrónico de resumen. |
| URL del endpoint | Una URL única generada automáticamente que contiene un token secreto. Cualquiera con esta URL puede activar el cron job, así que trátala como una credencial. |
| Correo de notificación (opcional) | Si se completa, se envía un correo electrónico de resumen a esta dirección cada vez que se activa el cron job. Déjalo vacío para deshabilitar las notificaciones por correo electrónico. |
| Estaciones de trabajo | Una o más estaciones de trabajo cuyas entradas activas de seguimiento de tiempo se cerrarán cuando se llame a la URL. |
| Última activación | Marca de tiempo de la activación exitosa más reciente. |
Puedes crear tantos cron jobs como necesites, cada uno con su propio conjunto de estaciones de trabajo y su propia URL. Esto facilita cerrar registros en diferentes horarios para diferentes equipos o departamentos: por ejemplo, un cron job para la línea de ensamblaje a las 4 PM y otro para el taller de pintura a las 6 PM.
Cuándo usarlo
Sección titulada «Cuándo usarlo»Escenarios comunes:
- Limpieza de fin de turno — detiene automáticamente cualquier entrada de seguimiento de tiempo que un empleado olvidó detener antes de irse.
- Horarios por equipo — diferentes departamentos terminan en diferentes momentos, así que cada uno obtiene su propio cron job y su propia hora del día.
- Integración con plataformas de automatización — programa un flujo de trabajo de Zapier, Make.com o similar para llegar a la URL de forma recurrente.
- Cron del servidor — llama al endpoint desde un cron job de Linux, el Programador de Tareas de Windows o cualquier programador basado en HTTP.
Gestión de cron jobs
Sección titulada «Gestión de cron jobs»Abre Configuración de la aplicación → Cron Jobs para gestionar la lista.
Crear un cron job
Sección titulada «Crear un cron job»- Haz clic en Añadir cron job.
- Dale un Nombre descriptivo: esto también se utiliza como asunto del correo electrónico de notificación.
- Opcionalmente introduce un Correo de notificación. Si se completa, se envía un correo electrónico de resumen a esa dirección cada vez que se activa el cron job. Déjalo en blanco para deshabilitar las notificaciones por correo electrónico.
- Marca una o más Estaciones de trabajo en la lista. Solo los registros de tiempo activos de esas estaciones de trabajo se cerrarán mediante esta URL.
- Haz clic en Guardar.
Una URL de endpoint única se genera automáticamente para ti.
Editar un cron job
Sección titulada «Editar un cron job»Haz clic en el icono del lápiz junto a un cron job para cambiar su nombre o asignaciones de estación de trabajo. La URL del endpoint se mantiene igual: las integraciones existentes siguen funcionando.
Eliminar un cron job
Sección titulada «Eliminar un cron job»Haz clic en el icono de la papelera y confirma. La URL del endpoint deja de funcionar inmediatamente. Esto es permanente y no se puede deshacer.
Copiar la URL del endpoint
Sección titulada «Copiar la URL del endpoint»Haz clic en el icono de copiar junto a la URL. El icono se convierte en una marca de verificación verde por un momento para confirmar que la URL está en tu portapapeles.
Activar el endpoint
Sección titulada «Activar el endpoint»La URL del endpoint acepta tanto solicitudes GET como POST: elige la que sea más fácil para tu programador. No se requiere encabezado de autenticación; el token en la URL es la credencial.
Ejemplos
Sección titulada «Ejemplos»curl
curl https://your-board.example.com/cron/abc123xyz...crontab de Linux (cerrar turno cada día laborable a las 5 PM)
0 17 * * 1-5 curl -fsS https://your-board.example.com/cron/abc123xyz... > /dev/nullZapier / Make.com / n8n — usa la acción integrada Webhooks / HTTP Request y apúntala a la URL.
Respuesta
Sección titulada «Respuesta»Una activación exitosa devuelve una carga útil JSON como:
{ "success": true, "closed": 3, "cron_job": "End of day - assembly"}closed es el número de entradas activas de seguimiento de tiempo que se detuvieron.
Si el cron job no tiene estaciones de trabajo asignadas, la respuesta será:
{ "success": true, "closed": 0, "message": "No workstations assigned."}Qué pasa cuando se activa
Sección titulada «Qué pasa cuando se activa»Cuando se llama al endpoint, el sistema:
- Encuentra cada entrada activa de seguimiento de tiempo (un temporizador iniciado sin hora de parada) cuya estación de trabajo está asignada a este cron job.
- Establece
stopped_ata la hora actual y registra la duración transcurrida. - Escribe una entrada automática de registro en cada tarea afectada, anotada como
Auto-closed by cron job: {name}, para que el tiempo registrado se conserve en el registro de la estación de trabajo. - Actualiza la marca de tiempo Última activación del cron job.
- Si se establece un Correo de notificación, envía un correo de resumen (ver abajo).
Las entradas que no están activas (temporizadores ya detenidos, o ejecutándose en estaciones de trabajo no en la lista de este cron) no se tocan.
Notificaciones por correo electrónico
Sección titulada «Notificaciones por correo electrónico»Si el campo Correo de notificación en un cron job está completado, cada activación de ese endpoint envía un correo de resumen a esa dirección.
El correo contiene:
- Asunto — el Nombre del cron job, exactamente como está configurado.
- Activado en — la fecha y hora en que se ejecutó la activación.
- Registros cerrados — una tabla que lista cada entrada activa de seguimiento de tiempo que se cerró, con el nombre del empleado, la estación de trabajo y la duración transcurrida.
Si no se encontraron entradas activas en el momento de la activación, el correo aún se envía pero el cuerpo señala que no se cerraron registros. Esto es útil como un latido para confirmar que el programador está funcionando.
Ejemplo de cuerpo de correo:
Activado en: 2026-05-26 17:00:03
Registros cerrados (2):
Empleado Estación de trabajo Duración Jan Kowalski Ensamblaje 1 3h 12min Anna Nowak Cabina de Pintura 45min
Para deshabilitar las notificaciones por correo electrónico, simplemente borra el campo en el cron job y guarda.
La entrega de correo utiliza el mismo transporte de correo (SMTP, etc.) configurado para el resto de la aplicación. Si la entrega falla por alguna razón, el fallo se registra y la respuesta de activación aún devuelve éxito: cerrar los registros de tiempo no se bloquea por problemas de correo.
Notas de seguridad
Sección titulada «Notas de seguridad»- La URL del endpoint contiene un token aleatorio de 40 caracteres y es lo único que se interpone entre Internet pública y la acción. Trátala como una contraseña.
- Si una URL se filtra, elimina el cron job: eso revoca la URL inmediatamente, y crea uno nuevo para emitir una URL fresca.
- El endpoint tiene un límite de tasa de 60 solicitudes por minuto por IP para evitar abusos.
- La acción es por tenant: un token solo afecta a entradas de tiempo pertenecientes al tenant que creó el cron job.
Consejos
Sección titulada «Consejos»- Da a cada cron job un nombre que refleje tanto el equipo como el horario (por ejemplo, “5 PM días laborables — ensamblaje”) para que puedas distinguirlos de un vistazo.
- Usa un cron job diferente por equipo en lugar de uno grande: te da un control más fino sobre los horarios y facilita deshabilitar o cambiar el comportamiento para un solo equipo.
- Prueba la URL una vez manualmente (desde tu navegador o curl) después de crearla para confirmar que devuelve una respuesta
success: true.