Ankündigung

Einklappen
Keine Ankündigung bisher.

EDOMI-Releases/Updates | Aktuell: Version 2.03

Einklappen
Dieses Thema ist geschlossen.
X
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gaert
    antwortet
    Die Wartezeit hängt von vielen Faktoren ab, insbesondere die Zeit, die sich MySQL nimmt (flush und diverse Aufräumarbeiten). Daher ist dies schlecht schätzbar...

    Im Grunde genügt es auf sämtliche PHP-Prozesse zu warten (pidof php) - denn EDOMI gibts ja nur als PHP Apache-PHP-Prozesse haben ja damit nichts zu tun (httpd).

    Aber wie gesagt: So richtig sauber ist das alles nicht, denn dafür ist EDOMI nicht gemacht. Anfangs hatte EDOMI noch auf Systemnachrichten gelauscht, aber ich sah keinen Bedarf dafür - schließlich soll EDOMI als Masterhirn die Hardware steuern.

    Für USV-Scripte (shutdown wenn Strom knapp) würde ich einfach "control.php shutdown" verwenden, also im USV-Script. Dann fährt erst EDOMI runter und setzt dann einen shutdown-Befehl ans OS ab.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von gaert Beitrag anzeigen
    Ergänzen würde ich noch eine Warteschleife, bis EDOMI auch beendet IST... Control.php wartet nicht, sondern setzt nur den Wunsch ab
    Das ist mir aufgefallen, deswegen ist da nen sleep 5 drin... wirklich zu warten bis der Prozess weg ist, ist nicht immer so eine gute Idee - denn wenn der haengt, haengt auch das Runterfahren.
    Am sinnvollsten (oder besser: Richtig) waere es, dem Prozess zB 5 Sekunden zu geben (maximal) und wenn er dann immer noch laeuft, aus Gehaessigkeit nochmal ein "kill -9" hinschicken und einfach weitermachen. Aber ich weiss nicht genau welche Edomi Prozesse eigentlich relevant sind und ueberhaupt hab ich das vorhin hingeschmiert und da war mir das alles zu kompliziert irgendwie

    Wenn Du mir sagst, welche Prozesse akut zu beenden seien und wie lange sowas wohl (realistisch) dauern mag, kann ich das Skript gern um ne entsprechende Ueberpruefung erweitern...

    gruesse :: Michael

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Ergänzen würde ich noch eine Warteschleife, bis EDOMI auch beendet IST... Control.php wartet nicht, sondern setzt nur den Wunsch ab Kann ich natürlich in Control.php noch ergänzen, ist vermutlich einfacher.

    @vento66
    klar, aber dann ist der HS ja auch abgestürzt... Wenn EDOMI abstürzt, kann man theoretisch auch den Stecker ziehen (kommt ja nicht mehr drauf an). Aber generell würde ich keinen Computer routinemäßig auf diese Weise beenden - das weißt du ja selbst, was dann alles Fritte gehen kann auch beim HS ist ein kaputtes Dateisystem sicher kontraproduktiv...

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von BadSmiley Beitrag anzeigen
    Ihr IT Nerds redet euch so einfach. Ich bin nur dummer Elektriker. Ich kann nur Stecker ziehen!
    Danke Roman, das wollte ich nur hören

    Eine Datei mit Namen /etc/init.d/edomi anlegen, mit folgendem Inhalt befuellen:
    Code:
    #!/bin/sh
    
    # chkconfig: - 93 10
    # description: Edomi init Skript
    
    ### BEGIN INIT INFO
    # Provides: edomi
    # Required-Start: $local_fs mysqld httpd
    # Required-Stop:  $local_fs mysqld httpd
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: stop Edomi
    # Description: Edomi
    ### END INIT INFO
    
    stop() {
        /usr/bin/php /usr/local/edomi/main/control.php quit
        rm /var/lock/subsys/edomi
        # wait a few seconds for edomi to shut down
        sleep 5
    }
    
    start() {
        touch /var/lock/subsys/edomi
    }
    
    status() {
        echo not implemented
    }
    
    restart() {
        /usr/bin/php /usr/local/edomi/main/control.php restart
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      status)
            status
            ;;
      restart)
            restart
            ;;
      condrestart|try-restart)
            status >/dev/null 2>&1 || exit 0
            restart
            ;;
      force-reload)
            restart
            ;;
      *)
            echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status|help}"
            RETVAL=2
    esac
    Datei ausfuehrbar machen:
    Code:
    chmod +x /etc/init.d/edomi
    rc Skripte erstellen (lassen):
    Code:
    chkconfig --add edomi
    Beim Stecker ziehen hilft das aber aber auch nicht, nur beim OS runterfahren

    gruesse :: Michael

    Einen Kommentar schreiben:


  • BadSmiley
    antwortet
    Ihr IT Nerds redet euch so einfach. Ich bin nur dummer Elektriker. Ich kann nur Stecker ziehen!

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Einfach ein init-Skript mit obiger (Stop-)Zeile erstellen und dafuer sorgen, dass es in den Runleveln 0, 1 & 6 ausgefuehrt wird. Dann ist alles gut
    Ich sehe den Vorteil darin, wenn der Edomi-Rechner von "aussen" ein Shutdown-Kommando bekommt, zB von einer USV oder so...

    gruesse :: Michael

    Einen Kommentar schreiben:


  • fisch3009
    antwortet
    Nachteil: EDOMI läuft nicht mehr, wenn man es beendet hat

    Einen Kommentar schreiben:


  • bernsen
    antwortet
    Zitat von gaert Beitrag anzeigen
    EDOMI ist nicht(!) darauf ausgerichtet vom OS kontrolliert zu werden.
    Wenn Edomi dann sicher beendet wird ist es für das unbedachte Herunterfahren sicher eine gute Idee.
    Welche Nachteile hätte es?

    Einen Kommentar schreiben:


  • vento66
    antwortet
    Zitat von gaert Beitrag anzeigen
    Nee... - und nicht indem man den Stecker zieht.
    genauso rebotet man das Teil, wenn es sich aufgehängt hat. Nachher motzt er auch nicht rum, das er einen sehr kurzfristigen Neustart hatte.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Nee... EDOMI ist nicht(!) darauf ausgerichtet vom OS kontrolliert zu werden (also auf Messages vom OS zu reagieren). EDOMI ist dafür gedacht, das OS zu kontrollieren! Muss man sich quasi als Embedded oder Blackbox vorstellen, so wie z.B. der HS: Den HS startet man ja auch per GUI (Experte) neu - und nicht indem man den Stecker zieht.

    Einen Kommentar schreiben:


  • BadSmiley
    antwortet
    Ich habe keine Ahnung wo ich die Zeile rein schreiben soll.... Ich mache das jetzt wie bisher..

    Einen Kommentar schreiben:


  • trollvottel
    antwortet
    Zitat von gaert Beitrag anzeigen
    BadSmiley
    Du könntest aber zur Sicherheit dafür sorgen, dass EDOMI beendet wird bevor(!) Du die Hardware runterfährst/neustartest:

    php /usr/local/edomi/main/control.php quit
    Bau das doch als Initscript in das Installscript mit ein sodass nicht jeder in das Problem reinläuft auch wenn er garnix falsch macht..
    Zuletzt geändert von trollvottel; 03.03.2016, 10:50.

    Einen Kommentar schreiben:


  • gaert
    antwortet
    BadSmiley
    Du könntest aber zur Sicherheit dafür sorgen, dass EDOMI beendet wird bevor(!) Du die Hardware runterfährst/neustartest:

    php /usr/local/edomi/main/control.php quit

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Dann ist wohl beim Update auf 1.19 irgendwas schief gelaufen... Ich würde Dir eine Neuinstallation empfehlen - also das Projekt exportieren, EDOMI 1.21 installieren und das Projekt dann wieder importieren. Die Live-Daten sind dann natürlich futsch...

    Einen Kommentar schreiben:


  • toggle
    antwortet
    Zitat von toggle Beitrag anzeigen
    Nach dem Update auf 1.20 kann ich weder Logikseiten umbenennen noch neue erstellen (Cache gelöscht, neugestartet, aktiviert). Existierende Logikseiten können aber bearbeitet werden.
    Ich habe die Ursache gefunden. Ein Vergleich von meinem Projekt mit einem leeren hat gezeigt, dass mein Projekt eine Spalte ('text') in der Tabelle editLogicPage zu wenig hatte. Nachdem ich die Spalte manuell eingefügt hatte, läßt sich alles wieder ohne Probleme bedienen.

    Einen Kommentar schreiben:

Lädt...
X