Bonjour,
Malgré que je viens de passer pas mal de temps à naviguer à droite et à gauche, j'ai une question en suspend concernant un script en tâche de fond sur un serveur.
Pour situer, le problème de départ est l'envoi d'une newsletter, mais juste l'envoi. Donc pas besoin de faire appel à une usine à gaz comme on en trouve un peu partout. Là, j'ai juste à récupérer les adresses dans une base et à envoyer mon mail par paquet. Ca je sais faire, la question porte plutôt sur la façon de faire.
J'ai pensé écrire un script tout simple en php et me servir d'une boucle while incluant un timer sleep de 10 minutes par exemple qui se déclenche toutes les 100 ou 200 boucles. (cela me permet d'espacer dans le temps les envois afin que tout le monde ne se connecte pas à même temps). Pour cela j'utilise php-win.exe qui permet de faire tourner un script php en tâche de fond.
Ce que je ne sais pas mesurer en l'occurence, c'est la charge que va occasionner ce script : Est-ce que ce script va me prendre toutes les ressources de mon serveur (par serveur, j'entends la machine, pas le serveur web puisqu'il n'est pas utilisé ici), sachant que c'est un script qui va peut-être s'exécuter pendant plusieurs heures ? Est-ce que ce scirpt s'exécute en tâche de fond et j'observe simplement un pic à chaque paquet envoyé ? Est-ce que je dois plutôt opter pour un script qui s'exécute à interval régulier, mais dans ce cas qui pourra s'exécuter pour rien à partir de quelques cycles ? ...
Voici quelques extraits que j'ai trouvé sur la doc php :
"Depuis PHP 5, un nouveau fichier php-win.exe est installé. C'est l'équivalent de la version CLI à ceci près qu'il n'affiche rien et ainsi ne fait pas apparaître de console (aucune fenêtre "dos" n'apparaît à l'écran). Ce comportement est similaire à celui de php-gtk. Vous pouvez l'activez avec l'option --enable-cli-win32."
Mais rien de parle de la charge machine par rapport à un script exécuté via un serveur web.
J'aurais donc besoin de vos connaissances en ce qui concerne les scripts exécuter avec php-win.exe
Merci d'avance.
Partager