Question

Je veux des tâches de râteau de configuration pour exécuter via Cron. C'est facile, mais ce n'est pas est facile assurant que une seule copie de cette tâche de coupe est en cours d'exécution à la fois. J'imagine que je pourrais utiliser ps sur le système pour vérifier et puis quittez la tâche rake si elle est déjà en cours d'exécution, ou que je pouvais faire une structure d'emploi retardé où je sérialiser le nom de la tâche et à la fin je le supprimer former le DB, mais que recommandez-vous tous?

Était-ce utile?

La solution

Unix a résolu ce problème avec les fichiers pid. les fichiers pid sont situés dans / var / run et contiennent les programmes traitent Id. Voici la page de manuel: http://fuse4bsd.creo.hu/ localcgi / homme-cgi.cgi? pidfile + 3

Vous trouverez peut-être un peu vieux jeu (et je suis d'accord), mais il est une méthode souvent utilisée et éprouvée.

Autres conseils

Vous pouvez utiliser https://rubygems.org/gems/only_one_rake , comme Espace de noms: rails font     desc « nombre d'utilisateurs en ligne »     only_one_task: online_user_count =>: environnement do       boucle {OnlineUser.count; sommeil 1}     fin   fin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top