FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kaspi am 08 Januar 2018, 20:12:59

Titel: [Gelöst] Unterschied zwischen DbLog-> Attribut: "syncInterval" und "timeout"
Beitrag von: Kaspi am 08 Januar 2018, 20:12:59
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
Titel: Antw:Was ist der Unterschied zwischen DbLog-> Attribut: "syncInterval" und "timeout"
Beitrag von: abc2006 am 08 Januar 2018, 20:16:34
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
Titel: Antw:Was ist der Unterschied zwischen DbLog-> Attribut: "syncInterval" und "timeout"
Beitrag von: Kaspi am 08 Januar 2018, 20:26:09
OK.

Was passiert wenn "timeout" abgelaufen ist?

Gehen Daten verloren?

Gruss

Kaspi
Titel: Antw:Was ist der Unterschied zwischen DbLog-> Attribut: "syncInterval" und "timeout"
Beitrag von: DS_Starter am 08 Januar 2018, 21:02:36
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.