![]() |
PC mit USV: Wie Software korrekt beenden?
Hallo zusammen,
meine C#-Datenbankanwendung läuft auf PCs mit USV. Für alle, die nicht wissen, was eine USV ist: Eine USV (= Unterbrechungsfreie Stromversorgung) ist ein Akku mit etwas Intelligenz drum herum, der im Falle eines Stromausfalls den PC noch eine Weile am Leben halten kann und dann gezielt herunterfährt. Ich bin mir nicht sicher, wie USVs normalerweise arbeiten: Schießen USVs die Prozesse knallhart ab und fahren Windows dann herunter? Werden die Programme davor ordnungsgeäß beendet? Ich vermute eher ersteres oder letzteres mit Timeout, damit Windows in jedem Fall herunterfährt bevor der Akku leer ist. Im "Window_Close"-Ereignis frage ich nach, ob die Software beendet werden soll. Beim Herunterfahren des PCs ohne USV erscheint diese Nachfrage nicht. Mit habe ich es noch nicht testen können. Wie kann ich denn auf die USV reagieren und die Datenbanken gezielt schließen, sodass keine beschädigten Datenbanken entstehen? Geht sowas mit dem ![]() Grüße Matze |
AW: PC mit USV: Wie Software korrekt beenden?
![]() In Delphi reagiert die TopLevelForm/MainForm auf WM_QUERYENDSESSION und die VCL ruft dann OnCloseQuery auf. WM_ENDSESSION = entgültig Beenden, ohne Fragen Terminate / PostQuitMessage / ... = Beenden, ohne Fragen Erstmal kommt es drauf an, was für eine USV das ist. Wenn die genug Energie hat, um den Stromausfall "länger" komplett zu überbrücken, dann braucht sie garnichts zu machen, außer den Strom zu liefern. Ansonsten haben ordentliche USVs eine Schnittstelle zum PC (Seriell, USB, LAN, PCI, ...) und steuern dort das Runterfahren an. Entweder über Treiber oder einen ständig mitlaufenden Service. Entweder es wird sofort runtergefahren und die USV kann nur wenige Minuten überbrücken (bei voller PC-Leistung) oder es wird noch etwas gewartet (Zeit oder bis Akkurestenergie). Theoretisch könnte man sich auch in den Powerschalter (Taster) reinhängen, aber erstens ist das nicht "sicher" und ich hab es auch noch nie gesehn. Und billige USVs haben keine Verbindung und irgendwann ist dann auch der Notstrom einfach so alle *blubb* |
AW: PC mit USV: Wie Software korrekt beenden?
Hallo himi!
Zitat:
Zitat:
Schön wäre natürlich eine herstellerunabhängige Lösung. Zitat:
Aber du kennst die Zustände in China nicht, da haben wir schon ganz andere Erfahrungen gemacht. Kurze Stromausfälle gibt's häufiger und wenn mal an Stromleitungen gearbeitet wird kann es sein, dass man einen halben Tag keinen Strom hat (bei uns wäre das undenkbar). ;) Grüße Matze |
AW: PC mit USV: Wie Software korrekt beenden?
Zitat:
APC-Softare: Unabhängig wäre es Grundsätzlich erstmal, da jede USV ihre nötige Sofware mitbringen sollte und letztendlich wird es darauf hinaus laufen, daß die Software einen stinknormalen "Shutdown"-Befehl ans Windows schickt. Eventuell kann man in der Software noch vorherrige Events registrieren, so ala "Führe Programm XYZ aus", wenn die USV anspringt oder der wenn der Netzstrom wieder da ist. Und hoffentlich kann man auch die Art des Runterfahrens einstellen. (Ruhezustand, Runterfahren mit warten oder Runterfahren mit Abschießen, wenn zu lange dauert) |
AW: PC mit USV: Wie Software korrekt beenden?
Vielen Dank.
Ich schaue morgen mal nach, was sich in der Software genau einstellen lässt und melde mich dann wieder. Grüße Matze |
AW: PC mit USV: Wie Software korrekt beenden?
Zitat:
![]() Und ja, es läuft simpel und einfach so, dass der laufende Dienst den PC ganz normal herunterfährt, wenn die USV die im Dienst eingestellten Grenzen erreicht oder unterschreitet (entweder Ladestand oder Restlaufzeit). Und das funktioniert auch wunderbar. MfG Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz