⏰ Tâches Cron
PulseHub utilise un runner cron (cron.php) pour gérer les tâches en arrière-plan — interrogation des boîtes email, traitement des automatisations, réessai des webhooks échoués et nettoyage des anciennes données.
Aperçu
cron.php supporte deux modes :
| Mode | Fonctionnement | Idéal pour |
|---|---|---|
| URL Web | Appeler cron.php?token=VOTRE_SECRET&job=all via navigateur ou panneau d'hébergement | Hébergement mutualisé (cPanel, Plesk) |
| CLI | Exécuter php cron.php all depuis le terminal | VPS / serveurs dédiés |
Tâches disponibles :
| Tâche | Description |
|---|---|
all | Exécute toutes les tâches en séquence |
email | Interroge les canaux email IMAP actifs |
automations | Traite les événements d'automatisation en attente |
webhooks | Réessaie les événements webhook échoués |
cleanup | Purge les anciens événements SSE/automatisation/webhook |
Configuration — Hébergement Mutualisé (cPanel / Plesk / DirectAdmin)
Option A : Cron Basé sur URL (Recommandé)
- Connectez-vous à votre panneau d'hébergement
- Allez dans Tâches Cron
- Définissez la planification sur Chaque Minute (
* * * * *) - Collez :
wget -q -O /dev/null "https://votredomaine.com/cron.php?token=VOTRE_SECRET_CRON&job=all"
Ou avec curl :
curl -s "https://votredomaine.com/cron.php?token=VOTRE_SECRET_CRON&job=all" > /dev/null 2>&1
Astuce : Copiez l'URL complète depuis Paramètres → URL Tâche Cron dans PulseHub.
Option B : Cron Basé sur CLI
php /home/votreutilisateur/public_html/cron.php all
Option C : Service Cron Externe
Utilisez cron-job.org, EasyCron ou SetCronJob et pointez-le vers votre URL cron. Configurez pour une exécution toutes les 1–5 minutes.
Configuration — VPS / Serveur Dédié
* * * * * php /var/www/pulsehub/cron.php all >> /var/log/pulsehub_cron.log 2>&1
Détails des Tâches
email — Interrogation IMAP
Se connecte à tous les canaux email actifs via IMAP, recherche les messages UNSEEN, les importe comme conversations. Si l'extension imap est manquante, la tâche enregistre un message de saut et se termine proprement.
automations — Traiter les Événements en Attente
Sélectionne jusqu'à 100 événements en attente, évalue les règles, exécute les actions. Les événements sont marqués processing avant l'évaluation pour empêcher le double traitement.
webhooks — Réessayer les Événements Échoués
Réessaie les webhooks échoués (jusqu'à 5 tentatives dans les 24 heures).
cleanup — Purger les Anciennes Données
- Événements SSE de plus de 24 heures
- Événements d'automatisation traités de plus de 7 jours
- Événements webhook traités de plus de 30 jours
Sécurité
- Le mode web nécessite un token secret (généré pendant l'installation, stocké dans
config/app.php) - Le mode CLI ne nécessite pas de token
- La comparaison de tokens utilise
hash_equals()pour empêcher les attaques par temporisation