Ressources Spip-Agora Clever Age

Optimiser l’envoi de la newsletter, le 29 octobre 2004

Le service de newsletter, basée sur la brique libre CleverMail, permet d’envoyer un grand nombre d’emails par paquet. Il est possible d’utiliser quelques lignes de shell pour optimiser cet envoi en perdant le moins de temps possible entre les exécutions du programme.

Admettons que :
- votre site SPIP-AGORA est installé sur /var/www/agora/
- votre binaire PHP soit installé dans /usr/bin

Voici les étapes :

1/ encapsuler le lancement du script php dans un script shell : agora_envoi_newsletters.sh
#!/bin/bash
# script agora_envoi_newsletters.sh
/usr/bin/php /var/www/agora/ecrire/include/clevermail/admin/queue_process.php

2/ mettre en crontab toute les minutes cet autre script shell : watchdog.sh
#!/bin/bash
# script watchdog.sh
NB=`ps -e | grep agora_envoi_newsletters | grep -v 'grep' | wc -l`
if [ $NB -eq 0 ]
then
/opt/agora_envoi_newsletters.sh
fi 

Il est également possible, afin de ne pas trop pénaliser le serveur, de descendre la priorité du script d’envoi avec la commande nice :
#!/bin/bash
# script watchdog.sh
NB=`ps -e | grep agora_envoi_newsletters | grep -v 'grep' | wc -l`
if [ $NB -eq 0 ]
then
nice -0 /opt/agora_envoi_newsletters.sh
fi  

Ainsi, le serveur enverra les mails au maximum de sa capacité.