Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Batch Processing: Mehre Catia Sessions auf einem Rechner - Nebenläufigkeiten?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Batch Processing: Mehre Catia Sessions auf einem Rechner - Nebenläufigkeiten? (1031 mal gelesen)
derand
Mitglied
Ingenieur

Sehen Sie sich das Profil von derand an!   Senden Sie eine Private Message an derand  Schreiben Sie einen Gästebucheintrag für derand

Beiträge: 2
Registriert: 03.06.2016

erstellt am: 03. Jun. 2016 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi zusammen,

ich bin neu hier und ich habe jetzt wieder etwas mit CATIA zu tun (das letzte mal war vor knapp 10 Jahren).

Ich habe eine Verständnisfrage, bzw. besteht hier Uneinigkeit bei uns  .

Es geht um das Thema "Nebenläufigkeiten/Race-Conditions bei Batch-Verarbeitung".
Wir verwenden hier ein Load-Balancing bei dem verschiedene unabhängige CATIA-Batch-Jobs auf mehrere (ca. 10) Windows-Hosts verteilt werden.
Es gibt heute aber keinen Mechanismus der verhindern würde, dass mehre Jobs gleichzeitig auf einer Maschine gestartet warden.

Primär kommt bei den einzelnen Jobs irgendein CATScript zum Einsatz.

Jetzt die Frage:
Wenn man eine CATIA-Instanz per Batch startet, z. B. so...

pfad\bin\CNEXT.exe –direnv myEnv –env CATIA.V5xy -batch -macro my.CATscript

..ist dann wirklich sichergestellt, dass der Job nur in dieser Session/Instanz von CATIA läuft, auch wenn während der Ausführung bereits ein oder mehrere weitere Jobs auf der selben Kiste gestartet werden? Bzw. ist bei diesen anderen Jobs auch sicher gestellt, dass diese auch wiederum nur gekapselt in ihrer Session/Instanz laufen?

Ich habe im "Internet" die Aussage gefunden, dass die Variante des direkten Aufrufs mit -macro kein Problem darstellen würde und dass das Skript dann immer genau an diese CATIA Session/Instanz gekoppelt ist.
Auch stand dort , dass genau das Verhalten sogar einer der Vorteil vom reinen Scripting ist - gegenüber der Verwendung des COM-Objekts in Verbindung mit eigenen VB oder C#-Programmen (weil es hier eben nicht klar ware, auf welche Instanz/Session man connecten würde).

Allerdings gibt es einen Kollegen der sagt, das stimme nicht: Bei der Verwendung von Makros würde immer die ZUERST gestartete Catia Session/Instanz auf der Kiste verwendet werden, bzw. bei der Verwendung vom COM-Objekt würde dieses immer auf die ZULETZT gestartete Session/Instanz zugreifen.

Gibt es hier zufällig jemand, der dazu eine fundierte (möglichst klipp und klare) Aussage treffen kann?


...wir haben manchmal nämlich tatsächlich den Fall, dass manche Jobs fehlschlagen (ohne ersichtlichen Fehler) und wenn man es später nochmal probiert, dann geht es wieder..

Herzlichen Dank und Gruß
derand

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



Sehen Sie sich das Profil von RSchulz an!   Senden Sie eine Private Message an RSchulz  Schreiben Sie einen Gästebucheintrag für RSchulz

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 03. Jun. 2016 14:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für derand 10 Unities + Antwort hilfreich

Hallo Derand,

AFAIK gibt es hier wirklich Probleme. Der Stat via Batch und CATScript sollte allerdings in dem kompiliert sein, mit dem es gestartet wird. Das CATSript wird nämlich innerhalb des CATIA kompiliert und verarbeitet. Anders sieht es beim Zugriff von Außen aus. Dabei muss man die entsprechende ProcID heraus finden und dediziert diese zuordnen. Auch das geht, ist in der Regel allerdings schwer umsetzbar, da die ID zur Laufzeit generiert wird und man einen definierten Parameter z.B. modifizierter WindownCaption benötigt. Lässt sich demnach alles auch so machen.

Das Scripting sollte aber meiner Meinung nach, wenn so geöffnet, wie von dir beschrieben, in dieser Session laufen.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

derand
Mitglied
Ingenieur

Sehen Sie sich das Profil von derand an!   Senden Sie eine Private Message an derand  Schreiben Sie einen Gästebucheintrag für derand

Beiträge: 2
Registriert: 03.06.2016

erstellt am: 07. Jun. 2016 17:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hey Rick,

ich danke dir für deine Antwort!

Damit haben wir eine Stimme mehr für die Fraktion:

"Mehrere (klassische) Makros in verschiedenen Catia-Sessions auf dem selben Rechner kommen sich gegenseitig nicht in die Quere"

(Der Fraktionsname erscheint etwas länglich... )

Dennoch :Ein bisschen Konjunktiv ist hier noch vorhanden.

Gibt es noch jemand, der ebenso votet?
Bzw. hat jemand eine Idee, wie man das mit relativ wenig Aufwand testen könnte?

...vielleicht könnte man ein Skript erstellen, dass in einer Schleife 100 kleine Würfel mit einem gleichmäßigen Offset dazwischen erstellt und in jeder Iteration 20 Sek. wartet.
Dann startet man das Skript 5 mal.
Wenn danach in den resultierenden Files irgendwo ein Würfel fehlt (weil er in einer anderen Session eingebaut wurdE), wäre das ein klarer Beweis dagegen.
Ein Beweis dafür wäre es natürlich immer noch nicht...nur die Wahrscheinlichkeit, dass es so ist, wäre dann etwas höher 

Grüße
Derand

[Diese Nachricht wurde von derand am 07. Jun. 2016 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz