Ausführen Nachher: startet unerwartet früh

German Support for Syncovery on Windows
Post Reply
byzantine
Posts: 6
Joined: Tue Feb 21, 2023 6:56 am

Ausführen Nachher: startet unerwartet früh

Post by byzantine »

Ich starte mit "Ausführen Nachher" ein Skript, welches den Profil-Status an mein Monitoringsystem meldet.
Nachher:

Code: Select all

"C:\Program Files\PowerShell\7\pwsh.exe" -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\path\Send-ProfileStatus.ps1" $PROFILE
Das Skript liest neben den Logs auch den Profilstatus mittels http://localhost:8999/profilelist.json - aber dieser ist noch nicht up-to-date, d.h. ich erhalte den Status des vorigen Laufes insbesondere in den Feldern
  • isRunning
  • lastRunString
  • lastRunHadError
Offenbar setzt Syncovery den Nachher-Run ab und erledigt danach noch das Statusupdate.

Mit "#" vor dem Nachher-Kommando scheint die Sequentialisierung zu klappen, aber das ist im GUI nicht so beschrieben:
"... oder mit #, um das Warten vollständig zu deaktivieren." Das past m.E. nicht zur gegebenen Situation (evtl. zu Vorher:).

Wunsch 1: das Standardverhalten von "Nachher:" sollte wirklich sequentiell nachher starten - also erst, wenn Syncovery komplett mit dem Profil durch ist.

Wunsch 2: die Dokumentation im GUI sollte das Timing-Verhalten (sofern es nicht-trivial ist) genau beschreiben.

Syncovery-Version: 12.4.6 (64bit)

Danke und Grüße
Uli, using SFFS since 2014 :)
tobias
Posts: 2254
Joined: Tue Mar 31, 2020 7:37 pm

Re: Ausführen Nachher: startet unerwartet früh

Post by tobias »

Hi,
die Dokumentation is korrekt.

Bei # startet Syncovery den externen Job und rauscht sofort weiter und schreibt alle finalen Logs und Status.

Es ist aber Zufall, ob Syncovery hier schneller ist als das externe Script. Das Script bräuchte vielleicht noch eine anfängliche Wartezeit.

Ohne # kann ich nichts ändern. Der Rückgabewert des externen Scripts muss in die Job-Logdatei. Da ist der Job also noch lange nicht komplett beendet.

Eigentlich sollte das Powershell-Script nur ein Flag setzen und sich sofort beenden, und das Flag wird wiederum von einem anderen Prozess abgerufen, und der macht dann das mit dem Status.
Post Reply