Programmare il computer
 

cron/at o qualcosaltro ?

Giulia 29 Ott 2014 15:14
Ciao,
per poter attivare/disattivare a tempo alcuni scenari di domotica avrei la
necessita' di memorizzarli
in un database e poi periodicamente eseguirli , un po' come fa cron/at ma
possibilmente
utilizzando il db che con il linguaggio sql mi semplificherebbe la gestione.

Tra queste ipotesi che mi vengono in mente cosa mi consigliereste:

qualcosa che ad ogni insert/delete/update rigeneri il crontab da zero.

una linea del crontab che chiami esplicitamente una funzione che esegua (con la
stessa sintassi del cron)
le linee di comandi memorizzate nella tabella (applicando le periodicita'
specificate dalla tabella)

uno script/processo esplicito che ogni 60 secondi lanci i comandi memorizzati
nella tabella (verificando le periodicita').

Esiste qualcosa di gia fatto ?



Giulia
Diego Fabbro 29 Ott 2014 15:30
On Wednesday, 29 October 2014 15:14:15 UTC+1, Giulia wrote:
> CUT

io metterei un record in tabella con informazioni riguardanti periodicità e
ultimo lancio eseguito.
Un processo sarà in pool sulla tabella e verificherà se il task in questione
deve essere lanciato o meno.
La logica del task puoi memorizzarla sia all'interno del db sia all'interno del
programma (nell'ultimo caso solo se logica predeterminata).
Diego 29 Ott 2014 15:34
On Wednesday, 29 October 2014 15:30:15 UTC+1, Diego Fabbro wrote:
> On Wednesday, 29 October 2014 15:14:15 UTC+1, Giulia wrote:
>> CUT
>
> io metterei un record in tabella con informazioni riguardanti periodicità e
ultimo lancio eseguito.
> Un processo sarà in pool sulla tabella e verificherà se il task in questione
deve essere lanciato o meno.
> La logica del task puoi memorizzarla sia all'interno del db sia all'interno
del programma (nell'ultimo caso solo se logica predeterminata).


poll non pool
fmassei@gmail.com 30 Ott 2014 12:26
On Wednesday, October 29, 2014 3:14:15 PM UTC+1, Giulia wrote:
> Ciao,
> per poter attivare/disattivare a tempo alcuni scenari di domotica avrei la
> necessita' di memorizzarli in un database e poi periodicamente eseguirli ,
> un po' come fa cron/at ma possibilmente utilizzando il db che con il
> linguaggio sql mi semplificherebbe la gestione.
>
> Tra queste ipotesi che mi vengono in mente cosa mi consigliereste:
>
> qualcosa che ad ogni insert/delete/update rigeneri il crontab da zero.
> una linea del crontab che chiami esplicitamente una funzione che esegua (con
> la stessa sintassi del cron) le linee di comandi memorizzate nella tabella
> (applicando le periodicita' specificate dalla tabella)
>
> uno script/processo esplicito che ogni 60 secondi lanci i comandi
> memorizzati nella tabella (verificando le periodicita').
>
> Esiste qualcosa di gia fatto ?
>

Non ho capito benissimo, ma praticamente qualsiasi DBMS ha applicativi da
linea di comando (quindi richiamabili via script) per eseguire query.
Fai uno script e mettilo in cron.

No? :/

Ciao!
Giulia 30 Ott 2014 14:14
> Non ho capito benissimo, ma praticamente qualsiasi DBMS ha applicativi da
> linea di comando (quindi richiamabili via script) per eseguire query.
> Fai uno script e mettilo in cron.

No, non sono le query ad essere eseguite a tempi determinati.
Immagina che io invece di avere un ******* di testo (crontab),
voglia avere una tabella sql identica in tutto e per tutto al ******* di testo
come campi(minuti ore giorni mesi comando ecc ecc) e righe,
ora che meccanismo metteresti in moto per tenere conto delle manipolazioni
(che possono essere generate da un interfaccia web a pulsanti, come da altri
processi)?

Il mio dubbio e' se comunque utilizzare cron/at e quindi non aggiungere nessun
altro processo,
o crearmi un "cronsql" tutto mio che usi come con*****urazione quella tabella
invece del ******* e quindi ad esempio riscrivere tutta la logica
di periodicita'.


Giulia
fmassei@gmail.com 30 Ott 2014 14:20
On Thursday, October 30, 2014 2:14:51 PM UTC+1, Giulia wrote:
>> Non ho capito benissimo, ma praticamente qualsiasi DBMS ha applicativi da
>> linea di comando (quindi richiamabili via script) per eseguire query.
>> Fai uno script e mettilo in cron.
>
> No, non sono le query ad essere eseguite a tempi determinati.
> Immagina che io invece di avere un ******* di testo (crontab),
> voglia avere una tabella sql identica in tutto e per tutto al ******* di testo
> come campi(minuti ore giorni mesi comando ecc ecc) e righe,
> ora che meccanismo metteresti in moto per tenere conto delle manipolazioni
> (che possono essere generate da un interfaccia web a pulsanti, come da altri
> processi)?
>

Ti direi che stai affrontando il problema in maniera molto strana.

- Metti sul db una tabella "cosafare"/"data-ora".
- Scrivi uno script che quando gira fa query sulla tabella, fa girare
la roba scaduta, cancella/aggiorna la tabella e fa log.
- Metti lo script in cron ogni tot (ogni minuto/cinque minuti/vedi te).

Ciao!
Giulia 31 Ott 2014 08:42
> - Metti sul db una tabella "cosafare"/"data-ora".
> - Scrivi uno script che quando gira fa query sulla tabella, fa girare
> la roba scaduta, cancella/aggiorna la tabella e fa log.
> - Metti lo script in cron ogni tot (ogni minuto/cinque minuti/vedi te).

Quindi la ipotesi che avevo messo come secondo punto nel post originale , e mi
dovro' riscrivere la logica di periodicita' di cron/at (oppure capire se la
posso
estrarre dal sorgente di cron stesso).

Grazie
Giulia
Massimo Soricetti 31 Ott 2014 09:16
On 31/10/2014 08:42, Giulia wrote:
> Quindi la ipotesi che avevo messo come secondo punto nel post originale
> , e mi dovro' riscrivere la logica di periodicita' di cron/at (oppure
> capire se la posso estrarre dal sorgente di cron stesso).

La logica di periodicità??? O_O
Credo che ti stai complicando la vita inutilmente.

Qual'è, esattamente, il problema nel mandare uno script in esecuzione da
cron ogni X minuti, che legga la tabella SQL e faccia quello che c'è da
fare? I processi nei sistemi Unix sono molto leggeri, costa poco
avviarne uno.
fmassei@gmail.com 31 Ott 2014 10:16
On Friday, October 31, 2014 8:42:11 AM UTC+1, Giulia wrote:
>> - Metti sul db una tabella "cosafare"/"data-ora".
>> - Scrivi uno script che quando gira fa query sulla tabella, fa girare
>> la roba scaduta, cancella/aggiorna la tabella e fa log.
>> - Metti lo script in cron ogni tot (ogni minuto/cinque minuti/vedi te).
> Quindi la ipotesi che avevo messo come secondo punto nel post originale , e
> mi dovro' riscrivere la logica di periodicita' di cron/at (oppure capire se
> la posso estrarre dal sorgente di cron stesso).
>

Rileggi quello che ti ho scritto, evidentemente non hai capito.

Quello che vuoi fare è una cosa estremamente semplice, si farà in una decina
di righe di bash script.

Ciao!
Scroogle 1 Feb 2017 13:26
Giulia <far5893@iperbole.bologna.it> ha scritto:

> Ciao,
> per poter attivare/disattivare a tempo alcuni scenari di domotica avrei
la necessita' di memorizzarli
> in un database e poi periodicamente eseguirli , un po' come fa cron/at
ma possibilmente
> utilizzando il db che con il linguaggio sql mi semplificherebbe la
gestione.
>
> Tra queste ipotesi che mi vengono in mente cosa mi consigliereste:
>
> qualcosa che ad ogni insert/delete/update rigeneri il crontab da zero.
>
> una linea del crontab che chiami esplicitamente una funzione che esegua
(con la stessa sintassi del cron)
> le linee di comandi memorizzate nella tabella (applicando le
periodicita' specificate dalla tabella)
>
> uno script/processo esplicito che ogni 60 secondi lanci i comandi
memorizzati nella tabella (verificando le periodicita').
>
> Esiste qualcosa di gia fatto ?
>
>
>
> Giulia
>
https://redtowers.org/txt/va.a.capo.dopo.72.colonne.txt

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Programmare il computer | Tutti i gruppi | it.comp.programmare | Notizie e discussioni programmare | Programmare Mobile | Servizio di consultazione news.