[Gelöst] Unterschied zwischen DbLog-> Attribut: "syncInterval" und "timeout"

Begonnen von Kaspi, 08 Januar 2018, 20:12:59

Vorheriges Thema - Nächstes Thema

Kaspi

N'abend

Was ist der Unterschied zwischen DbLog-> "Attribut: syncInterval" und "Attribut: timeout"?

Im WIKI steht:

asyncMode
attr <device> asyncMode [1|0]
Dieses Attribut stellt den Arbeitsmodus von DbLog ein. Im asynchronen Modus (asyncMode=1), werden die zu speichernden Events zunächst in Speicher gecacht. Nach Ablauf der Synchronisationszeit (Attribut syncInterval) oder bei Erreichen der maximalen Anzahl der Datensätze im Cache (Attribut cacheLimit) werden die gecachten Events im Block in die Datenbank geschrieben. Ist die Datenbank nicht verfügbar, werden die Events weiterhin im Speicher gehalten und nach Ablauf des Syncintervalls in die Datenbank geschrieben falls sie dann verfügbar ist.
Im asynchronen Mode werden die Daten nicht blockierend mit einem separaten Hintergrundprozess in die Datenbank geschrieben. Det Timeout-Wert für diesen Hintergrundprozess kann mit dem Attribut "timeout" (Default 86400s) eingestellt werden. Im synchronen Modus (Normalmodus) werden die Events nicht gecacht und sofort in die Datenbank geschrieben. Ist die Datenbank nicht verfügbar gehen sie verloren.


Gruss

Kaspi

abc2006

Na, der sync-interval ist die entscheidung, wann die vorhandenen Daten in die Datenbank geschrieben werden.
und timeout ist der Parameter, bis wann der Prozess, wenn er denn mal angefangen hat, fertig sein muss mit schreiben...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Kaspi

OK.

Was passiert wenn "timeout" abgelaufen ist?

Gehen Daten verloren?

Gruss

Kaspi

DS_Starter

Zitat
Was passiert wenn "timeout" abgelaufen ist?

Gehen Daten verloren?
Kommt darauf an ob der Hintergrundprozess es noch geschafft hat die Daten wegzuschreiben bevor er gestorben ist.
Im Allgemeinen kannst du die Frage bejahen. Allerdings ist der timeout per default auf 86400 (1Tag) eingestellt.

Ich habe persönlich noch nicht einen Fall gehabt, dass mir bei DbLog ein timeout aufgetreten ist, selbst mit sehr kleinen timeout-Werten nicht.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter