La facturación al cliente finaliza los lunes. Nadie se dio cuenta hasta el jueves: el cron de sincronización había fallado durante cuatro días: el código de salida 1 estaba enterrado en un registro al que no se había accedido. Alwaysdata había realizado bien la tarea; nadie estaba mirando.
Alwaysdata es adecuado para pilas multilingües con crons integrados. La observabilidad de las tareas programadas sigue siendo su responsabilidad tan pronto como el trabajo afecte a dinero o datos.
Pila mínima de observabilidad de cron
| Capa | Herramienta | Rol |
|---|---|---|
| Archivo de registro | logs/cron-sync-AAAA-MM-DD.log | Depuración post mortem |
| Código de salida | set -e/trampa ERR | Fracaso silencioso |
| Ping exitoso | Healthchecks.io, Cronitor | Alerta si está ausente |
| Alerta | Correo electrónico, webhook de Slack | Humano advertido |
| Métrico | Duración, líneas tramitadas | Deriva lenta |
Patrón de concha:
#!/bin/bash
conjunto -euo pipefail
LOG=~/logs/sync-$(fecha +%F).log
ejecutivo >>"$LOG" 2>&1
echo "INICIO $(fecha -Es)"
php bin/sincronización.php
curl -fsS -m 10 --reintentar 3 https://hc-ping.com/your-uuid
echo "FIN $(fecha -Es)"
Errores comunes
Duplicar cron después de la migración sin desactivar el anterior.
Ruta relativa: funciona en SSH, se interrumpe en cron.
Sin bloqueo: dos instancias en competencia corrompen los datos.
Registro infinito: disco lleno, sitio inactivo.
Zona horaria: panel UTC frente a escritura de Europa/París.
Compartido: límites y división
- Trabajos preferidos <pocos minutos; lote por trozos.
- Cola (Redis, DB) + trabajador se ejecuta cada minuto.
- Pruebe carga después de implementar PHP/Node.
La cumbre: éxito silencioso, fracaso silencioso
El primer incidente cron enseña lo que el panel nunca mostrará por sí solo.
Decide y avanza sin puntos ciegos
- Inventario de crons con propietario y criticidad.
- Registros + ping en trabajos críticos.
- Bloquear archivo anti doble ejecutivo.
- Prueba mensual apagado voluntario → ¿alerta recibida?
- Hoja Alwaysdata + guías.
Preguntas frecuentes
¿Siempre el historial de crons de datos?
Configuración del panel + registros limitados: instrumente usted mismo.
¿Detectar falla?
Registros fechados, webhook, ping de verificación de estado, fin del trabajo.
¿Qué registrar?
Inicio/fin, duración, código de salida, volumen: sin secretos.
¿Cron PHP largo?
Separar; cola + trabajador si excede la ventana.
Si un cron afecta la facturación o los datos del cliente, sin éxito del ping = sin producción.
