DOMANDA Aiuto programma demone!!

Pubblicità

joker320t

Nuovo Utente
Messaggi
73
Reazioni
1
Punteggio
27
Ciao ragazzi, ho una domanda, dovrei creare un programma che a determinate ore faccia una determinata cosa, le ore da controllare la prende da un file che viene scritto da uno script in php. Domanda mi hanno consigliato di rendere questo programma demone, ma non e' la stessa cosa di eseguire il programma e lasciarlo sempre in esecuzione?!

Grazie mille in anticipo!! :D :D
 
allora ora utilizzo ubuntu per fare le prove e tutto, poi sara su un raspberry, il programma sarà scritto in python ma non capisco questa cosa del demone!!
in pratica detto in due parole, ho uno script in php nel quale imposto gli orari e li salvo su un file, il programma prende queste ore le confronta e se e' l'ora giusta da un comando ad arduino. quindi il progamma in python deve lavorare costantemente in background
 
allora ora utilizzo ubuntu per fare le prove e tutto, poi sara su un raspberry, il programma sarà scritto in python ma non capisco questa cosa del demone!!
in pratica detto in due parole, ho uno script in php nel quale imposto gli orari e li salvo su un file, il programma prende queste ore le confronta e se e' l'ora giusta da un comando ad arduino. quindi il progamma in python deve lavorare costantemente in background

Escludendo un software carino su KDE che si chiama ktimer, Usa Cron: AmministrazioneSistema/Cron - Wiki di ubuntu-it

O se sei su Ubuntu 15.10 o 16.04 LTS o altre distro che usano systemd, studiati systemd.timer: https://www.freedesktop.org/software/systemd/man/systemd.timer.html
 
allora ora utilizzo ubuntu per fare le prove e tutto, poi sara su un raspberry, il programma sarà scritto in python ma non capisco questa cosa del demone!!
in pratica detto in due parole, ho uno script in php nel quale imposto gli orari e li salvo su un file, il programma prende queste ore le confronta e se e' l'ora giusta da un comando ad arduino. quindi il progamma in python deve lavorare costantemente in background
Ammazza, un sacco di giri :asd:

Tralasciando il fatto che da programmatore potresti risolverla in python, puoi modificare crontab in modo tale da inserire manualmente le ore in cui vuoi che venga avviato lo script di controllo. Puoi anche fare in modo che venga avviato ogni minuto.
 
la prima cosa che mi viene in mente è un ciclo while infinito e un file di configurazione a parte per confrontare le date che legge dal file di output di php dove inserisci le ore "target"
 
I fatti pure io avrei creato un ciclo infinito dipo while 1, e prorpio per questo che ho scritto questo post, non e' la stessa cosa eseguire un programma con un ciclo infinito o usare un demone, in termini di risultato ottenuto ovviamente?
 
Personalmente userei cron. Usare un ciclo while infinito lo vedo un po come "incrociare i flussi" :asd:

Premetto che non sono molto esperto di queste cose, mi viene però da chiedermi questo:
- quando si "incarterà" (murphy è sempre in agguato :asd:) il programmino in python con il ciclo infinito che succede?? nulla o va in palla tutto l'os??
- se invece si "incarta" il processo cron, che succede?? (in questo caso mi sa niente di particolare, semplicemente non funziona lo script).
 
I fatti pure io avrei creato un ciclo infinito dipo while 1, e prorpio per questo che ho scritto questo post, non e' la stessa cosa eseguire un programma con un ciclo infinito o usare un demone, in termini di risultato ottenuto ovviamente?
Se per risultato intendi che funziona il programma allora si :asd:

Personalmente userei cron. Usare un ciclo while infinito lo vedo un po come "incrociare i flussi" :asd:

Premetto che non sono molto esperto di queste cose, mi viene però da chiedermi questo:
- quando si "incarterà" (murphy è sempre in agguato :asd:) il programmino in python con il ciclo infinito che succede?? nulla o va in palla tutto l'os??
- se invece si "incarta" il processo cron, che succede?? (in questo caso mi sa niente di particolare, semplicemente non funziona lo script).
Hai ragione, nemmeno io lo userei, infatti credo non ci sia niente di più semplice e "risolutivo" di cron nel suo caso.

Poi ovvio che se volessimo approfondire la questione potrebbe anche farsi una api con flask e collegarla direttamente a php.... Di idee me ne vengono molte, ma per 4 o 5 chiamate al giorno basta cron (o anche 100, sia chiaro :asd:) che funziona benissimo, lo configuri e non ci pensi più
 
E io dovrei fare il controllo con cron ogni 5/10 minuti! Il problema che mi viene in mente che potrebbe accadere e che controllando ogni 10 minuti superi l'ora a cui deve eseguire il comando e quindi salta tutto
 
E io dovrei fare il controllo con cron ogni 5/10 minuti! Il problema che mi viene in mente che potrebbe accadere e che controllando ogni 10 minuti superi l'ora a cui deve eseguire il comando e quindi salta tutto
Codice:
$ crontab -e
e aggiungi:
Codice:
*/5 * * * * /path/script.py

Edit:
Puoi anche impostare il controllo ogni minuto, devi solo stare attento alla configurazione di cron che a volte su certe distribuzioni genera molti log che poi ti vanno ad intasare il disco a lungo andare.
 
Ultima modifica:
Ok e cron avevo visto come implementarlo e mi sembrava abbastanza semplice, però, cerco di spiegarmi meglio, il le ore le prende da uno script php che puo variare non sono sempre le stesse ore, quindi se per esemmpio la mia ora e' impostata alle 10:30 e il mio cron esegue lo script ogni 5 minuti quindi lo va ad eseguire alle 10:31 e poi alle 10:36 il mio script non funziona perchè l'ora e passata, deve esattamente eseguire a quell'ora!!
 
Pubblicità
Pubblicità
Indietro
Top