Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
con ritardo crontab

[Risolto] Crontab con ritardo
#1
Salve a tutti l'esigenza che segue nasce dal fatto che la piattaforma ThingSpeaK non può ricevere due dati  a distanze temporali inferiori ai 15 secondi. Io ho dei sensori e vorrei mandare il loro rilievo su ThingSpeak ogni 10 minuti. Se inserisco tutti i comandi che servono a lanciare i file di rilievo dei sensori  ed inio, ogni 10 minuti ThingSpeak prende solo il primo dato in quanto l'invia tutti contemporaneamente.

Mi chiedevo se c'era un comando da inserire in crontab in modo da sfalsare di 30 secondi l'esecuzione dei comandi in crontab. In modo che quando parte il ciclo i file vengano eseguiti uno ogni 30 secondi.

Grazie

LaPa
With a little/big help from my friends Rolleyes
Risposta
#2
https://it.wikipedia.org/wiki/Crontab
oramai dovresti conoscerlo :-D
Risposta
#3
ma chiedo, se voglio che si avvii a trenta secondi posso scrivere in prima posizione (minuti) 0.5?
With a little/big help from my friends Rolleyes
Risposta
#4
Metti un sleep 30 all'inzio dello script da eseguire
Il mio software non ha mai bugs. Include soltanto funzionalità casuali.


Risposta
#5
(10/03/2017, 14:35)Gabb Ha scritto: Metti un sleep 30 all'inzio dello script da eseguire

sì, certo potrebbe essere questa la soluzione:

la sintassi dovrebbe essere

import time

time.sleep(secondi di ritardo)
With a little/big help from my friends Rolleyes
Risposta
#6
Esattamente.
Il mio software non ha mai bugs. Include soltanto funzionalità casuali.


Risposta
#7
ho provato:

crontab accetta anche frazioni di minuto quindi se "*/1.5 * * * * comando" il comando viene eseguito una volta ogni 90 secondi. Ma io non avrò un ciclo ogni minuto con partenza ritardata ma uno ogni 90 secondi.

Allora ho optato per la soluzione di Gabb:

Ho impostato un ritardo di tot secondi nel listato di Python.

Pertanto ora ho quattro comandi che inviano rilievi di sensori su ThingSpeak ogni 10 minuti ma il primo senza ritardo, il secondo con ritardo di 20 secondi, il terzo con ritardo di 40, il quarto con ritardo di 60. Così su ThingSpeak non arrivano mai dati più frequenti di 15 secondi.

Sembra andare bene.

Grazie

Saluti

LaPa
With a little/big help from my friends Rolleyes
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect