X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_daemon.erl;h=b802bbe5c86517b82d9ed930b954cc7bef96acbf;hp=68765e7cee03e5f14956ad3687c3de1ed7aed274;hb=81393a74d648e4830dc8c7c562fa203f50a105f6;hpb=828daf607fdce322ea17c1786dff84f712aa1632 diff --git a/modules/erl/euphorik_daemon.erl b/modules/erl/euphorik_daemon.erl index 68765e7..b802bbe 100755 --- a/modules/erl/euphorik_daemon.erl +++ b/modules/erl/euphorik_daemon.erl @@ -15,9 +15,8 @@ % % You should have received a copy of the GNU General Public License % along with Euphorik. If not, see . -% +% % Module tournant en background s'occupant periodiquement de certaines tâches : -% - sélection du prochain troll chaque semaine % - rechargement des modules lors d'une mise en production % Date : 05.11.2007 % @author G.Burri @@ -32,29 +31,14 @@ start(_A) -> register(euphorik_daemon, self()), loop(). - - + + loop() -> - % on attend une minute de plus pour prevenir une dérive négative (ce qui pourrait engendrer une double élection) receive switch -> % permet de substituer le code du process par un nouveau code, voir reload_euphorik - euphorik_daemon:loop() - after 1000 * (trunc(temps_prochaine_election() + 60)) -> - euphorik_bd:elire_troll(), euphorik_daemon:loop() end. - -% Renvoie le nombre de seconde qu'il reste jusque au prochain lundi à l'heure donnée (l'heure est sur 24heures) -% 86400 est le nombre de seconde dans un jour -temps_prochaine_election() -> - {Date, {H,M,S}} = calendar:local_time(), - Delta = (?JOUR_ELECTION_TROLL - 1) * 86400 + ?HEURE_ELECTION_TROLL * 60 * 60 - -((calendar:day_of_the_week(Date) - 1) * 86400 + H * 60 * 60 + M * 60 + S), - % attention au cas où deux dates (maintenant et la date d'élection) ne se trouvent pas dans la même semaine. - if Delta =< 0 -> Delta + 7 * 86400; true -> Delta end. - - % Recharge tous les modules euphorik. % Appelé lors d'une mise en prod. % TODO : récupérer les noms à partir des .beam dans /modules/ebin @@ -76,4 +60,3 @@ reload_euphorik() -> % changement du code du daemon euphorik_daemon ! switch, ok. - \ No newline at end of file