mschlenstedt / Loxberry

Current stable Branch is: *** Please see Releases *** Current developer Branch is: *** master ***
Apache License 2.0
77 stars 27 forks source link

Keine Echtzeitausgaben über System-Lib / command #1443

Closed mschlenstedt closed 1 year ago

mschlenstedt commented 1 year ago

Nutzt man aus der System-Lib die command-Fuktion, werden die Ausgaben des ausgeführten Kommandos nicht in Echtzeit ausgegeben, sondern "gesammelt" in der Variablen $output und erst am Ende der Ausführung ins Log geschrieben.

Bei langen Ausführungszeiten, z. B. bei der Plugininstallation, ist das sehr störend, weil scheinbar nichts passiert und man die Installation nicht mitverfolgen kann.

Hier wird das Kommando ausgeführt: https://github.com/mschlenstedt/Loxberry/blob/1e083ff5a6330a9b4417c6bf7e567bf5f477d87b/libs/perllib/LoxBerry/System.pm#L1627

Und hier die Ausgabe nach Beendigung ins Log geschrieben: https://github.com/mschlenstedt/Loxberry/blob/1e083ff5a6330a9b4417c6bf7e567bf5f477d87b/libs/perllib/LoxBerry/System.pm#L1644

Die Ausgabe muss direkt per Redirect ">> $log 2>&1" während der Ausführung ins Log geschrieben werden. Alternativ könnte man auch eine Pipe zum Kommando "tee" verwenden.

mschlenstedt commented 1 year ago

Fixed in 646b2a715cbe77df44278ce73dc7839d924c13f4