Ausführen Nachher: startet unerwartet früh

German Support for Syncovery on Windows
Post Reply
byzantine
Posts: 7
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: 2258
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.
byzantine
Posts: 7
Joined: Tue Feb 21, 2023 6:56 am

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

Post by byzantine »

Servus,

ich verstehe, was du sagst: die Abarbeitung des "Nachher"-Befehls gehört für Syncovery zum Job dazu (das ist für mich unerwartet, aber sei's drum).

Und dass es mit # vor dem Nachher-Befehl bei mir klappt, ist reines Glück: Syncovery wartet nicht und schließt blitzschnell den Job (incl. Log) ab. In der Zeit kommt gemütlich pwsh.exe hoch und das dauert lang genug, um schon den Status _nach_ Job-Ende zu sehen.

Findest Du nicht, dass es eine Möglichkeit zur robusten Sequentialisierung geben sollte? 1. Syncovery fertig 2. gewünschter Befehl startet

Auch ist das Nachher zumindest uneindeutig: nachher heißt doch nicht "kurz bevor ich fertig bin". Wäre "Vor Abschluss"/"before completion" vielleicht treffender?
Uli, using SFFS since 2014 :)
tobias
Posts: 2258
Joined: Tue Mar 31, 2020 7:37 pm

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

Post by tobias »

Hi,
also den "Zufall" kann man mit einem kleinen Wait am Anfang des Powershell-Scripts ja deterministisch machen.

Ich habe momentan zu viel um die Ohren, um da etwas zu ändern. Ich müsste es auch optional machen, weil sonst die Workflows von anderen Kunden gestört werden.

Also wirklichen dringenden Handlungsbedarf sehe ich momentan nicht.
Post Reply