1 votes

travail cron sur le serveur web

Comment puis-je demander à mon serveur web (Webfaction) d'exécuter un fichier Python et de le laisser tourner indéfiniment ? Quelqu'un m'a dit que je devrais utiliser cron mais je n'ai pas trouvé de bon matériel sur la façon de l'exécuter une fois, et qu'il ne s'arrête pas.

0voto

Dale Lancaster Points 61

La meilleure méthode pour quelque chose comme ça est la suivante :

1) Écrire le script de telle sorte qu'il vérifie d'abord un fichier de verrouillage pour s'assurer qu'il n'y a pas d'autres copies déjà en cours d'exécution et/ou vérifier que le processus n'est pas déjà en cours d'exécution.

2) Mettez une entrée dans cron pour lancer le script de temps en temps, disons une fois par heure.

3) Votre script pourrait utiliser une boucle while(1) pour se maintenir en exécution "pour toujours". Cependant, il est préférable de ne jamais faire tourner un script à l'infini car vous pourriez avoir des fuites de mémoire potentielles qui s'accumulent sur une longue période et finissent par provoquer un swap de votre système et vous avez alors un système vraiment lent. Faites-le tourner pendant plusieurs milliers d'itérations ou arrêtez-le au bout d'un certain temps. Cron le relancera au prochain créneau horaire.

4) Enregistrez votre sortie en utilisant >> rediriger vers un fichier journal afin que vous puissiez attraper tout message que vous pourriez vouloir sortir pour le statut.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X