Problema con uno scheduler

Ciao a tutti, ho un problemi un p cervellotico.
Su un sistema embedded ho un processo che si bsa su Eventmachine per
leggere dei dati.
Siccome al variare di certe condizioni devo triggerare degli eventi e
siccome le condizioni
devono persistere per un certo periodo di tempo prima di far scattare i
trigger,
ho creato un hash dove memorizzo i vari tempi in cui leggo i parametri e
quando devo fare
scattare i trigger.
Tutto funziona a parte un piccolo dettaglio, il sistema su cui mi gira
il
processo
ha la possibilit che gli venga cambiata l’ora di sistema dall’utente o
da
un altro processo esterno.
A quel punto se il tempo viene spostato indietro, ovviamente i trigger
non
mi scattano pi fino a quando non raggiungono il nuovo tempo di trigger.

C’ modo di basarsi su un time virtuale ma indipendente dal time di
sistema?

Spero di essere stato chiaro.

Giuseppe Benfenati
Tel. +39 348 8732541
Via Cucco, 41 - 40015 Galliera BO

Eh, erlang c’ha fatto un capitolo su sto problema… :slight_smile:

Il giorno ven 31 lug 2015 16:06 Giuseppe Benfenati <
[email protected]> ha scritto:

Se hai una indicazione prendo spunto volentieri.

Il giorno 31 luglio 2015 16:11, Maurizio De Santis <
[email protected]> ha scritto:

devono persistere per un certo periodo di tempo prima di far scattare i
non


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Giuseppe Benfenati
Tel. +39 348 8732541
Via Cucco, 41 - 40015 Galliera BO

Mi riferivo a questo, lettura consigliata:
http://www.erlang.org/doc/apps/erts/time_correction.html

Purtroppo adesso sono in giro, per cui non posso argomentare pi di tanto
:confused:
Il 31/lug/2015 16:19, “Giuseppe Benfenati”
[email protected]
ha scritto:

Process.clock_gettime(Process::CLOCK_MONOTONIC)

non son sicuro sia portabile, ma dovrebbe essere quello che ti serve.
Non
sopravvive ai reboot su linux, credo.

2015-07-31 16:05 GMT+02:00 Giuseppe Benfenati
<[email protected]

quando devo fare
scattare i trigger.
Tutto funziona a parte un piccolo dettaglio, il sistema su cui mi gira il
processo
ha la possibilit che gli venga cambiata l’ora di sistema dall’utente o da
un altro processo esterno.
A quel punto se il tempo viene spostato indietro, ovviamente i trigger non
mi scattano pi fino a quando non raggiungono il nuovo tempo di trigger.

C’ modo di basarsi su un time virtuale ma indipendente dal time di
sistema?

Spero di essere stato chiaro.

Giuseppe Benfenati
Tel. +39 348 8732541
Via Cucco, 41 - 40015 Galliera BO


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


twitter: @riffraff
blog (en, it): www.riffraff.info

Clock monotonico, come giustamente suggerito da Gabriele, o ti attacchi
a
un server NTP, sono sicuro che ci sono gemme per farlo facilmente.

2015-07-31 17:40 GMT+01:00 gabriele renzi [email protected]:

Va benissimo
Process.clock_gettime(Process::CLOCK_MONOTONIC)
anche perch NTP opzionale nella mia applicazione, quindi potrebbe
essere
disabilitato.

Grazie!!

Il giorno 31 luglio 2015 22:29, bruno bossola [email protected] ha
scritto:

trigger,
A quel punto se il tempo viene spostato indietro, ovviamente i trigger
Tel. +39 348 8732541
twitter: @riffraff


Giuseppe Benfenati
Tel. +39 348 8732541
Via Cucco, 41 - 40015 Galliera BO