Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi komisches Verhalten bei Threadnutzung (https://www.delphipraxis.net/202634-komisches-verhalten-bei-threadnutzung.html)

zeras 24. Nov 2019 08:19

komisches Verhalten bei Threadnutzung
 
Ich habe ein Programm geschrieben, welches u.a. ein externes Programm mit Parametern aufruft. Dazu nutze ich einen Thread, damit ich den Fortschritt anzeigen kann. Im dem Thread werden Dateien ausgepackt, dann das externe Programm gestartet und dann Dateien wieder eingepackt.
Wenn dieses externe Programm fertig meldet, merkt das mein Programm und startet erneut das externe Programm. Das geht so weiter, bis der Pool abgearbeitet ist.
Nun kommt es aber vor, dass sich das externe Programm aufhängt.
Kann es mit dem Thread zusammenhängen?
Wenn ich das externe Programm eigenständig starte, ist mir der Fall bisher nicht untergekommen.

Klaus01 24. Nov 2019 08:43

AW: komisches Verhalten bei Threadnutzung
 
Guten Morgen,

hat das externe Programm irgendwelche logging Funktionalität?
Diese Daten könnten zur Analyse hilfreich sein.

Oder hast Du bereits ein System gefunden warum das externe Programm hängt?
Könnte es sein, dass zeitweise zwei oder mehrere dieser externen Programm gleichzeitig laufen?
Könnte es sein, dass die externen Programme die gleiche Datei bearbeiten wollen (Zugriffsrechte?)?

Grüße
Klaus

zeras 24. Nov 2019 09:12

AW: komisches Verhalten bei Threadnutzung
 
Zitat:

Zitat von Klaus01 (Beitrag 1451883)

hat das externe Programm irgendwelche logging Funktionalität?
Diese Daten könnten zur Analyse hilfreich sein.
Klaus

Es kommt ein Dialog, ob Daten an den Hersteller geschickt werden sollen.
Das werde ich einmal aufgreifen und beim Hersteller nachfragen.

Zitat:

Zitat von Klaus01 (Beitrag 1451883)
Oder hast Du bereits ein System gefunden warum das externe Programm hängt?
Klaus

Nein, manchmal läuft das 5x hintereinander oder mehr, aber manchmal auch nur 1x.

Zitat:

Zitat von Klaus01 (Beitrag 1451883)
Könnte es sein, dass zeitweise zwei oder mehrere dieser externen Programm gleichzeitig laufen?
Klaus

Das sollte eigentlich nicht sein, da ich das externe Programm mittels ShellExecuteAndWait starte.

Zitat:

Zitat von Klaus01 (Beitrag 1451883)
Könnte es sein, dass die externen Programme die gleiche Datei bearbeiten wollen (Zugriffsrechte?)?
Grüße
Klaus

Wenn das externe Programm beendet ist, dann zippe ich die Dateien wieder zusammen. Vielleicht sollte ich dazwischen noch einige Sekunden warten. Bei der Funktion kommt es auf ein paar Sekunden nicht an.
Funktion ist wie folgt:
- Dateien werden vom Server nach lokal ausgepackt
- externes Programm wird gestartet und diese Dateien werden manipuliert
- warten, bis externes Programm beendet ist mittels ShellExecuteAndWait
- verschiedene andere Aktionen mit den Dateien
- packen der Dateien auf den Server


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz