⏰ Tareas Cron
PulseHub usa un ejecutor cron (cron.php) para manejar tareas en segundo plano — sondeo de bandejas de email, procesamiento de automatizaciones, reintentos de webhooks fallidos y limpieza de datos antiguos.
Visión General
cron.php soporta dos modos:
| Modo | Cómo funciona | Mejor para |
|---|---|---|
| URL Web | Llama a cron.php?token=TU_SECRETO&job=all vía navegador o panel de hosting | Hosting compartido (cPanel, Plesk) |
| CLI | Ejecuta php cron.php all desde terminal | VPS / servidores dedicados |
Trabajos disponibles:
| Trabajo | Descripción |
|---|---|
all | Ejecuta todos los trabajos en secuencia |
email | Sondea canales de email IMAP activos |
automations | Procesa eventos de automatización pendientes |
webhooks | Reintenta eventos de webhook fallidos |
cleanup | Depura eventos antiguos de SSE/automatización/webhook |
Configuración — Hosting Compartido (cPanel / Plesk / DirectAdmin)
Opción A: Cron Basado en URL (Recomendado)
- Inicia sesión en tu panel de hosting
- Ve a Tareas Cron
- Establece la programación en Cada Minuto (
* * * * *) - Pega:
wget -q -O /dev/null "https://tudominio.com/cron.php?token=TU_SECRETO_CRON&job=all"
O usando curl:
curl -s "https://tudominio.com/cron.php?token=TU_SECRETO_CRON&job=all" > /dev/null 2>&1
Consejo: Copia la URL completa desde Configuración → URL de Tarea Cron en PulseHub.
Opción B: Cron Basado en CLI
php /home/tuusuario/public_html/cron.php all
Opción C: Servicio Cron Externo
Usa cron-job.org, EasyCron, o SetCronJob y apúntalo a tu URL de cron. Configúralo para ejecutar cada 1–5 minutos.
Configuración — VPS / Servidor Dedicado
* * * * * php /var/www/pulsehub/cron.php all >> /var/log/pulsehub_cron.log 2>&1
Detalle de los Trabajos
email — Sondeo IMAP
Se conecta a todos los canales de email activos vía IMAP, busca mensajes UNSEEN, los importa como conversaciones. Si falta la extensión imap, el trabajo registra un mensaje de omisión y termina limpiamente.
automations — Procesar Eventos Pendientes
Selecciona hasta 100 eventos pendientes, evalúa reglas, ejecuta acciones. Los eventos se marcan como processing antes de la evaluación para prevenir doble procesamiento.
webhooks — Reintentar Eventos Fallidos
Reintenta webhooks fallidos (hasta 5 intentos dentro de 24 horas).
cleanup — Depurar Datos Antiguos
- Eventos SSE con más de 24 horas
- Eventos de automatización procesados con más de 7 días
- Eventos de webhook procesados con más de 30 días
Seguridad
- El modo web requiere un token secreto (generado durante la instalación, almacenado en
config/app.php) - El modo CLI no requiere un token
- La comparación de tokens usa
hash_equals()para prevenir ataques de temporización