Taches CRON

De Wiki.

Règles d'usage pour les tâches cron

Sommaire

Emplacements

Placer les scripts shell dans un répertoire "cron" à la racine du projet (en aucun cas dans un sous-répertoire de www)

Chemins/tests

Veillez à la validité des ressources appelées par ces scripts shell (les tester avant de les passer en planification)

Usage de wget

Paramètres pour wget :

wget -r -nd --delete-after

pour éviter de polluer le serveur avec autant de fichiers que d’exécution de la tâche.


Cron & CMS

Appel de la page lance toutes les tâches enregistrées dans la table "cms_cron". Cette page est appelé automatiquement dans le fichier "fo_prepend"

include\cms-inc\cron\execute_all.php

Pour activer le cron, modifier le fichier config

define("DEF_APP_USE_CRON", true);


Cron & CMS & Newsletter

Il existe un fichier permettant l'envoi de toutes les newsletters se trouvant dans la table "news_queue". Ce fichier doit être appelé dans la table "cms_cron"

include\cms-inc\cron\send_newsletter.php

Pour activer le cron, modifier le fichier config

define("DEF_APP_USE_CRON", true);

Pour définir le nombre d'envoi par lot, modifier le fichier conf (par défaut 250 envois par lot)

define("DEF_NEWS_MAX_ENVOI", 250);

Une fois l'ensemble des newsletter envoyé, l'administrateur du site reçoit un mail de confirmation


Exemple d'utilisation du cron Newsletter

TNT




De la même manière, il existe un fichier permettant de désinscrire de la newsletter automatiquement tous les mails qui sont retournés en erreur.

include\cms-inc\cron\error_newsletter.php

Plusieurs paramètres sont nécessaires afin d'utiliser ce script. Ils sont tous paramétrable dans le fichier config.php :

//suppression automatique des mails
define("DEF_NEWS_ERRORS", 100);
define("DEF_NEWS_IMAP_SERVER", '{192.168.0.1:143}INBOX');
define("DEF_NEWS_IMAP_LOGIN", "tntnewsletter");
define("DEF_NEWS_IMAP_PWD", "tyyVRJcz");

//liste de domaine à ignorer lors de l'ajout des mails à supprimer des newsletter.
$domain_to_ignore = array('tnt-cite.com', 'nfrance.com');

DEF_NEWS_ERRORS : le nombre de traitement à réaliser par tâche cron.

DEF_NEWS_IMAP_SERVER : adresse du server IMAP. Il faut utiliser obligatoirement un serveur IMAP car l'on se base sur le smails non lu de cette boite mail.

DEF_NEWS_IMAP_LOGIN : login de connexion

DEF_NEWS_IMAP_PWD : password de connexion

$domain_to_ignore : un tableau de domaine à ignorer dans les mails. le script récupère automatiquement tous les mails qui sont dans les retours d'erreur. Dans ces mails se trouvent des mails serveurs généré automatiquement et le mail d'envoie de la newsletter. Pour éviter de surcharger les requête SQL de mails inutiles, on peut ignorer certains domaines via ce tableau.