Saltar al contenido principal

⏰ 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:

ModoCómo funcionaMejor para
URL WebLlama a cron.php?token=TU_SECRETO&job=all vía navegador o panel de hostingHosting compartido (cPanel, Plesk)
CLIEjecuta php cron.php all desde terminalVPS / servidores dedicados

Trabajos disponibles:

TrabajoDescripción
allEjecuta todos los trabajos en secuencia
emailSondea canales de email IMAP activos
automationsProcesa eventos de automatización pendientes
webhooksReintenta eventos de webhook fallidos
cleanupDepura eventos antiguos de SSE/automatización/webhook

Configuración — Hosting Compartido (cPanel / Plesk / DirectAdmin)

Opción A: Cron Basado en URL (Recomendado)

  1. Inicia sesión en tu panel de hosting
  2. Ve a Tareas Cron
  3. Establece la programación en Cada Minuto (* * * * *)
  4. 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