Tâches planifiées (Crons)
L’Utilisation des tâches « Cron »
La fréquence d’exécution des tâches « Cron » dépend de vous. De nombreux hôtes partagés préfèrent que vous exécutiez des scripts toutes les 15 ou 30 minutes et peuvent même remplacer les heures prévues pour respecter ces restrictions. Consultez la documentation de votre hôte s’ils ont une telle restriction.
Il est fortement recommandé de décaler les tâches requises suivantes afin de ne pas exécuter exactement la même minute.
Par exemple:
- 0,15,30,45 <- segments: mise à jour
- 5,20,35,50 <- camaigns: mise à jour
- 10,25,40,55 <- campagnes: déclenchement
Les Segments
Pour garder les segments actuels:
Php / chemin / vers / kompulse / app / console kompulse: segments: mise à jour
Par défaut, le script traitera les contacts par lots de 300. Si c’est trop pour les ressources de votre serveur, utilisez l’option –batch-limit = X en remplaçant X par un certain nombre de contacts pour traiter chaque lot.
Vous pouvez également limiter le nombre de contacts à traiter par exécution de scripts en utilisant –max-contacts pour limiter davantage les ressources utilisées.
Les Campagnes
Pour que les campagnes soient mises à jour avec les contacts concernés:
Php / chemin / vers / kompulse / app / console kompulse: campagnes: reconstruire
Par défaut, le script traitera les contacts par lots de 300. Si c’est trop pour les ressources de votre serveur, utilisez l’option –batch-limit = X en remplaçant X par un certain nombre de contacts pour traiter chaque lot.
Vous pouvez également limiter le nombre de contacts à traiter par exécution de script en utilisant –max-contacts pour limiter davantage les ressources utilisées.
Pour exécuter des événements de campagnes:
Php / chemin / vers / kompulse / app / console kompulse: campagnes: trigger
Par défaut, le script traitera des événements dans des lots de 100. Si c’est trop pour les ressources de votre serveur, utilisez l’option –batch-limit = X en remplaçant X par un certain nombre d’événements pour traiter chaque lot.
Vous pouvez également limiter le nombre de contacts à traiter par exécution de script en utilisant –max-events pour limiter davantage les ressources utilisées.
Pour envoyer des règles de fréquences, les messages de campagne de marketing sont reprogrammés : les messages marqués comme messages de marketing (tels que les emails à envoyer dans le cadre d’une campagne de marketing) seront insérés dans une file d’attente de messages. Pour traiter cette file d’attente et reprogrammer l’envoi de ces messages, cette tâche Cron doit être ajoutée à votre liste de tâches:
Kompulse: messages: envoyer
REMARQUE: ces messages ne seront ajoutés à la file d’attente que si les règles de fréquences sont appliquées soit dans l’ensemble du système, soit par contact.
Optionnel
Traiter la file d’attente d’emails
Si le système est configuré pour mettre en file d’attente les emails au système de fichiers, une tâche « Cron » est nécessaire pour les traiter.
Php / chemin / vers / kompulse / app / console kompulse: courriels: envoyer
Récupérer et traiter l’email surveillé
Suivi social
Si vous utilisez la surveillance sociale,
Php / chemin / vers / kompulse / app / console kompulse: social: monitoring
Webhooks
Si Kompulse est configuré pour envoyer des webhooks par lots, utilisez la commande suivante pour envoyer les charges utiles :
Php / chemin / vers / kompulse / app / console kompulse: webhooks: processus
Nettoyage des données anciennes
Nettoyage d’une installation Kompulse en purgeant les anciennes données. Notez que toutes les données ne peuvent pas être purgées. Les entrées de journal d’audit, les visiteurs (contacts anonymes) et les visites de visiteurs sont actuellement pris en charge. Utilisez –dry-run pour afficher le nombre d’enregistrements à purger avant d’apporter des modifications.
Cela supprimera définitivement les données ! Assurez-vous de conserver les sauvegardes de la base de données.
Php / path / to / kompulse / app / console kompulse: maintenance: nettoyer --days-old = 365 --dry-run
Envoyer des émissions planifiées
Il est maintenant possible d’utiliser « Cron » pour envoyer des émissions programmées pour les communications de canal. La seule mise en œuvre actuelle est pour les emaills de segment. Au lieu d’exiger un envoi manuel et d’attendre avec la fenêtre du navigateur ouverte – une commande peut maintenant être utilisée. La mise en garde pour cela est que emails doivent être publiés et doivent avoir une date de publication – c’est pour aider à prévenir toute diffusion non intentionnelle de courrier électronique. Tout comme c’était le cas avec le processus manuel / ajax – seuls les contacts qui n’ont pas déjà reçu la communication spécifique auront la lui envoyer.
Php / path / to / kompulse/ app / console kompulse: diffusions: send [--id = ID] [--channel = CHANNEL]
Conseils et dépannage
Si votre environnement fournit une compilation spécifique à la ligne de commande de php, souvent appelée php-cli, vous pouvez utiliser celle au lieu de php car elle aura une sortie plus propre. Sur BlueHost et probablement quelques autres hôtes PHP, la commande php peut être configurée pour jeter les paramètres de ligne de commande à la console, auquel cas vous devez utiliser php-cli pour faire fonctionner les tâches Cron.
Pour aider à résoudre les problèmes Cron, vous pouvez canaliser la sortie de chaque tâche Cron vers un fichier spécifique en ajoutant quelque chose comme> /path/to/somefile.log 2> & 1 à la fin de la tâche Cron. Ensuite, vous pouvez regarder le contenu du fichier pour voir ce qui a été imprimé. Si une erreur se produit lors de l’exécution de la tâche Cron, vous le verrez là, sinon le fichier sera vide ou aura quelques statistiques. L’heure de modification du fichier vous informe de la dernière exécution de la tâche Cron. Vous pouvez ainsi utiliser cette fonction pour déterminer si la tâche Cron s’exécute correctement ou non. En outre, il est recommandé d’activer le mode non interactif avec le mode non-également lorsque vous exécutez vos commandes à l’aide de Cron. De cette façon vous vous assurez, que vous avez timestamps appropriés dans votre journal et la sortie est plus lisible.
Exemple de sortie
$ Php app / console mautic: segments: mise à jour --no-interaction --no-ansi
[2016-09-08 06:13:57] Reconstruire des contacts pour le segment 1
[2016-09-08 06:13:57] 0 contact (s) total à ajouter par lots de 300
[2016-09-08 06:13:57] 0 contact (s) total à retirer par lots de 300
[2016-09-08 06:13:57] 0 contact (s) concerné (s)
Si vous avez un accès SSH, essayez d’exécuter la commande directement pour voir si des erreurs sont générées. S’il n’y a rien à imprimer à partir d’une session SSH ou dans la sortie Cron ci-dessus, vérifiez les journaux du serveur. Si vous voyez des erreurs similaires à ‘Warning: Invalid argument fourni pour foreach ()’ dans /vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php:287, vous avez soit besoin d’utiliser php-cli au lieu de php Ou essayez d’utiliser php -d register_argc_argv = On. `