[gelöst] Abhängigkeit zu MariaDB herstellen

Begonnen von Muschelpuster, 07 Oktober 2017, 16:40:17

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

ich habe FHEM jetzt auf meinem frisch mit Debian 9 aufgesetztem Mini-Server mit einem Atom-Prozessor und SSD installiert. Das fliegt förmlich  ;D OK, mein FHEM ist noch leer, aber den Hobel zwinge ich nicht mehr so schnell in die Knie.
Ich nutze bislang schon configDB und logDB unter MySQL und habe daher nun Maria auf den Server eingeladen  ;)
Auch das funktioniert, allerdings habe ich wohl ein Timing-Problem beim Systemrestart. Ich denke, dass MariaDB noch nicht bereit ist, wenn FHEM schon starten will. Im Logfile sieht das so aus:2017.10.07 16:09:50 0: Server shutdown
DBI connect('database=fhemconf;host=localhost;port=3306','fhemuser',...) failed: Lost connection to MySQL server at 'reading initial communication packet', system error: 104 "Die Verbindung wurde vom Kommunikationspartner zurückgesetzt" at configDB.pm line 756.
2017.10.07 16:13:59 3: telnetPort: port 7072 opened
Ich denke mal, dass gegen 16:10 der automatische Start gescheitert ist. Gegen 16:14 habe ich dann FHEM anstandslos manuell gestartet.

Wie kann ich das Linux dazu bewegen, FHEM erst zu starten, wenn Maria ausgeschlafen hat?

Das wäre evtl. auch eine schöne Ergänzung in der configDB.pm. Mal mit meinen bescheidenen Basic-Slang skizziert:if db nicht erreichbar
   do
       warte 5 Sekunden
   loop until db erreichbar oder uptime > 5 Minuten
end if


schnelle Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Benni

#1
Du könntest ja auch einfach in das Start-Skript von fhem ein sleep mit geeigneter Wartezeit einbauen.
Oder das Skript entsprechend erweitern, bis MariaDB in der Ausgabe von ps aux als gestartet zu finden ist (grep).

Es gibt bestimmt noch weitere ggf. auch elegantere Möglichkeiten, ohne dass Module dafür angepaßt werden müssten.

gb#

Update: Wusst ich's doch  ;D:

Zitat von: betateilchen am 07 Oktober 2017, 19:47:15
Dafür gibt es den "INIT INFO" Block im Startskript von FHEM.

betateilchen

Könnt Ihr mal bitte damit aufhören, mir wegen jedem Scheiß eine email zu schreiben, um mich auf irgendwelche Forum-Threads hinzuweisen, nur weil ich nach einer Stunde noch nicht geantwortet habe? Ich finde das eine ziemliche Unverschämtheit.




Zitat von: Muschelpuster am 07 Oktober 2017, 16:40:17
Wie kann ich das Linux dazu bewegen, FHEM erst zu starten, wenn Maria ausgeschlafen hat?

Dafür gibt es den "INIT INFO" Block im Startskript von FHEM. Wie man die Abhängigkeiten berücksichtigt, habe ich darüber hinaus hier im Forum schon mehrfach beschrieben. Das sind ausschließlich Linux Grundlagen, die weder etwas mit perl, noch mit FHEM noch mit configDB zu tun haben. Deshalb wird es dafür keine Änderung im configDB Modul selbst geben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Muschelpuster

Danke Betateilchen für den Tritt in die richtige Richtung.

gelöste Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF