<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Grazie a tutti quelli che hanno risposto alla mia precedente mail
"Cronojob in Python con orari variabili" e al mio amico Lorenzo
che mi ha dato delle soluzioni alternative, abbiamo trovato x
metodi per temporizzare una funzione/metodo/script in python
evitando di fare while(true):sleep(x)</p>
<p><br>
</p>
<ol>
<li>Utilizzare il cronojob di sistema della macchina.</li>
<ul>
<li>Vantaggio: indipendente dell'applicativo</li>
<li>Vantaggio: non crasha con l'applicazione</li>
<li>Svantaggio: è un orario fisso, non modificabile dallo script
in python a meno di magheggi mostruosi che possono danneggiare
gli altri cronojob<br>
</li>
</ul>
<li>Se è parte di un applicativo server costruito con un framework
(ho controllato flask e django), quest'ultimo ha un modulo
pensato per i cronojob</li>
<ul>
<li>Vantaggio: una volta sviluppata l'applicazione sarà presente
in tutte le installazioni senza configurazioni di applicazioni
esterne</li>
<li>Vantaggio: è possibile cambiare i tempi dall'interno
dell'applicativo</li>
<li>Svantaggio: se cambiano i moduli devi cambiare lo script che
gestisce il cronojob</li>
</ul>
<li>Soluzione di Lorenzo: l'applicativo è un deamon/service che
lavora in background</li>
<ul>
<li>Vantaggio: posso cambiare quando eseguirlo dall'interno
dell'applicativo python</li>
<li>Svantaggio: implementazione diversa per Unix e Windows</li>
</ul>
</ol>
<p>Per i più curiosi <a
href="https://gist.github.com/fundor333/aaa0b1b46d1e961d6df4828eb82ec3f6">qui</a>
trovate la mia implementazione di un deamon e di un service (si
ringrazia stackoverflow per i contributi dati a queste due classi)<br>
</p>
<p>-- </p>
<pre class="moz-signature" cols="72">Fundor333</pre>
</body>
</html>