[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Prozess nach Überschreiten einer Zeitgrenze abbrechen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Martin Fischer
  
Beiträge gesamt: 12137

9. Jul 2019, 16:19
Beitrag # 1 von 9
Bewertung:
(541 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Kollegen,

gibt es eine Weg, einen Prozess (z.B. Öffnen eines Dokuments) während der Ausführung eines Skripts nach Überschreiten einer bestimmten Dauer (z.B. 5 Min.) abzubrechen, zu protokollieren und mit dem nächsten Prozess fortzufahren?

Quasi einen Task in den Hintergrund auslagern und ggf. zu killen?

Viele Grüße
Martin


X

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Gerald Singelmann
  
Beiträge gesamt: 6219

10. Jul 2019, 07:16
Beitrag # 2 von 9
Beitrag ID: #571040
Bewertung:
(502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich lehne mich mal ganz weit aus dem Fenster.

JavaScript läuft in einem Single Thread. Salopp gesagt bedeutet das, dass ein JavaScript Interpreter immer genau eine Zeile Code nach der anderen abarbeitet – möglicherweise auf verschlungenen Wegen, aber immer eine nach der anderen.

Während der Bearbeitung eines Befehls kann der Interpreter auch nichts anderes machen.
Die Bedeutung von $.sleep(2000) ist daher nicht: "Ich lege mal ein paar Sekunden die Füße hoch und schau dem Rest des Systems beim Arbeiten zu", sondern "Für 2 Sekunden passiert hier gar nichts!"

Ich weiß nicht, ob das irgendwo in der Dokumentation steht, aber mein Eindruck ist, dass InDesign auch nur einen JavaScript-Interpreter am Laufen hat.
Das würde bedeuten, dass man per JavaScript (b) nicht den Ablauf eines anderen JavaScripts (a) beobachten kann. Denn b kommt ja erst zum Zuge, wenn a fertig ist.

Außerdem arbeitet im Gegensatz zur Webumgebung JavaScript in InDesign fast grundsätzlich synchron.

Das Laden einer Ressource im Web-Kontext sind letztlich zwei getrennte Scripte:

a1) Sag dem System, welche URL du willst und gib eine Weckruf-Funktion an, die aufgerufen wird, sobald das System damit fertig ist.
a2) Script a ist fertig.

b1) Weckruf-Funktion wird vom System aufgerufen
b2) b arbeitet Daten der Ressource ab.
b3) b ist fertig

Synchrones arbeiten in InDesign läuft hingegen so ab

c1) c sagt InDesign, es soll ein Dokument öffnen
c2) c wartet darauf, dass das Dokument offen ist
c3) InDesign hat das Dokument geöffnet, die Kontrolle geht wieder an c zurück und c macht weiter

Während c2 kann kein anderer JavaScript Befehl in InDesign ausgeführt werden.

Wie gesagt: Das ist mein Verständnis, das ich mir zusammengereimt habe. Ob das tatsächlich im Detail anders ist, müsste jemand nachtragen, der die Dokumentationen (SDK etc) gründlich studiert hat.

Falls ich richtig liege, ist die Konsequenz jedenfalls, dass dein Anliegen innerhalb von InDesign nicht lösbar ist.

Du müsstest die Kontrolle einem Prozess außerhalb von InDesign übergeben, der ggf. auch in der Lage ist, InDesign (oder Teile davon) abzuschießen.

Ich habe so recht keine Vorstellung, welcher Weg da gangbar wäre. Ob man z.B. in Nodejs etwas aufsetzen könnte oder ob AppleScript diese Art von Prozesssteuerung zulässt...
Kann sein, weiß ich nicht.

Das alles im Wesentlichen, um das Gespräch in Gang zu bringen :)


als Antwort auf: [#571032]

Prozess nach Überschreiten einer Zeitgrenze abbrechen

WernerPerplies
Beiträge gesamt: 2388

10. Jul 2019, 07:47
Beitrag # 3 von 9
Beitrag ID: #571041
Bewertung:
(494 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Herr Singelmann,

ich denke, Sie haben die Situation gut beschrieben.

Ich löse solche Aufgaben, in dem ich je nach Situation entweder mit einem InDesign-Skript oder einem externen Skript ein Verzeichnis überwache.

Ich kann dann direkt mit einer Datei Aktionen auslösen oder mit dem Inhalt der Datei Parameter übergeben.

Das sollte eigentlich immer funktionieren.

Um auf die ursprüngliche Frage zurückzukommen:

1. Ein externes Programm (z. B. per Apple Script mit Filewatcher und Timer-Event per Indesign-Skript starten)
2. InDesign per Skript eine Datei öffnen lassen und am Ende des Vorganges eine externe Datei erzeugen.
3. Das externe Programm wartet auf diese Datei und wenn Sie nicht rechtzeitig erzeugt wird, bricht dieses Programm InDesign ab und startet es ggf. neu.
4. Über ein InDesign-Startupscript könnte man sogar die Kontrolle wieder an InDesign übergebn.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#571040]

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Martin Fischer
  
Beiträge gesamt: 12137

10. Jul 2019, 09:00
Beitrag # 4 von 9
Beitrag ID: #571044
Bewertung:
(480 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

vielen Dank für Deine anschaulichen Ausführungen, die ich gut nachvollziehen kann.

Antwort auf: Falls ich richtig liege, ist die Konsequenz jedenfalls, dass dein Anliegen innerhalb von InDesign nicht lösbar ist.


Genau dies hatte ich befürchtet und so gegenüber dem Kunden kommuniziert.
Aber weil das im gegebenen Fall so gravierend ist, wollte ich mir dies gerne von kompetenter Seite bestätigen lassen.

Danke dafür.


Herr Perplies,
Ihr Ansatz klingt vielversprechend.
InDesign abschießen (und neu starten) ist eine Hammermethode. Daran hatte ich in meinem Skript noch nicht gedacht.
Ich will mal sehen, ob ich das tatsächlich so realisieren will (und kann).

Vielen Dank auch für Ihre Anregung.


Zum Hintergrund:
Per Skript sollen nacheinander viele InDesign-Dateien (als Kopie) geöffnet und analysiert werden (Protokollierung verwendeter Schriften). Die meisten InDesign-Dateien werden dabei aus früheren Versionen hochkonvertiert. Darunter gibt es ein paar Kandidaten, die sich in der aktuellen CC-Version nicht öffnen lassen. InDesign steht entweder lange still und wartet auf einen Abschuss oder stürzt von sich aus irgendwann mal ab.
Die diesen Prozess auslösende Datei kann dem Protokoll entnommen und für's nächste Mal ausgeschlossen werden. Aber der Prozess als solcher ist zunächst mal beendet und muss zur Untersuchung aller weiteren Dateien ganz neu gestartet werden (auch bereits bearbeitete Dateien werden erneut geprüft).

Nun werde ich erst mal versuchen herauszufinden, wie häufig solche Störungen auftreten (vermutlich eher im Promille- als im Prozentbereich) und prüfen, ob mit Holzhammer oder einer weicheren Variante beizukommen wäre.


Vielen Dank für die Anregungen!

Viele Grüße
Martin




als Antwort auf: [#571040]
(Dieser Beitrag wurde von Martin Fischer am 10. Jul 2019, 09:20 geändert)

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Martin Fischer
  
Beiträge gesamt: 12137

10. Jul 2019, 09:25
Beitrag # 5 von 9
Beitrag ID: #571046
Bewertung:
(471 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eine weichere Methode könne folgendermaßen funktionieren:

Die Pfade erfolgreich ausgewerteter und Problem auslösender Dateien werden protokolliert und von einer erneuten Auswertung bei einer erneuten Ausführung des Skripts nach einem händischen Abschuss oder einem Absturz von InDesign ausgeschlossen.

Oder die erfolgreich ausgewerteten und die Problem auslösenden Dateien werden umbenannt:
19-07-10_meineInDesignDatei.indd
=> 19-07-10_meineInDesignDatei_GUT.indd bzw.
=> 19-07-10_meineInDesignDatei_SCHLECHT.indd

und über dieses Anhängsel bei der nächsten Skriptausführung übergangen.

Viele Grüße
Martin




als Antwort auf: [#571044]
(Dieser Beitrag wurde von Martin Fischer am 10. Jul 2019, 09:27 geändert)

Prozess nach Überschreiten einer Zeitgrenze abbrechen

WernerPerplies
Beiträge gesamt: 2388

10. Jul 2019, 09:33
Beitrag # 6 von 9
Beitrag ID: #571047
Bewertung:
(465 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Herr Fischer,

Zitat Ihr Ansatz klingt vielversprechend.
InDesign abschießen (und neu starten) ist eine Hammermethode. Daran hatte ich in meinem Skript noch nicht gedacht


Diese Methode habe ich übrigens zum ersten Mal bei der Bearbeitung von Corel- Ventura-Dateien eingesetzt, dabei ging es darum, fehlerhafte Stellen innerhalb der Dateien zu finden, die Corel Ventura ab einer bestimmten Stelle zum Absturz brachten.

Viel Erfolg bei Ihrem Projekt.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#571044]

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Martin Fischer
  
Beiträge gesamt: 12137

10. Jul 2019, 10:13
Beitrag # 7 von 9
Beitrag ID: #571048
Bewertung:
(450 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
[off topic]

Antwort auf: Bearbeitung von Corel- Ventura-Dateien

Ventura Publisher, mein Einstieg in den Werksatz in den späten 80ern.
Damals noch von Xerox und unter DR GEM.
Rasend schnell – gemessen an den damals verfügbaren Hardwarekomponenten.
Textformatierungen mit ASCII Code-Markierungen im Textmodus sehr gut vorzubereiten und zu kontrollieren.

Allerdings mit ein paar satztechnischen Einschränkungen, die mich zur (Bastel-)Arbeit mit PageMaker "zwangen".
Quark war Quark. ;-)

Später VP unter Corel und Windows gefühlt unstabiler als unter Xerox und GEM.

Was ist nur aus GEM und was aus Ventura geworden?

[/off topic]



Antwort auf: Viel Erfolg bei Ihrem Projekt.

Danke für die Aufmunterung.

Über die Beiträge oben sind mir neue Ideen zum Umgang mit den unerwünschten Situationen gekommen. Es tut gut, Dinge gemeinsam mit anderen zu überlegen und abzuwägen.
20on20

Viele Grüße
Martin




als Antwort auf: [#571047]

Prozess nach Überschreiten einer Zeitgrenze abbrechen

WernerPerplies
Beiträge gesamt: 2388

10. Jul 2019, 10:20
Beitrag # 8 von 9
Beitrag ID: #571049
Bewertung:
(447 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
[off topic]
Zitat Später VP unter Corel und Windows gefühlt unstabiler als unter Xerox und GEM.

Ja, keine Frage, konnte allerdings auch viel mehr.
Zitat Was ist nur aus GEM und was aus Ventura geworden?

leider tot, aber es gibt immer noch Anwender!
[/off topic]

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#571048]

Prozess nach Überschreiten einer Zeitgrenze abbrechen

Gerald Singelmann
  
Beiträge gesamt: 6219

11. Jul 2019, 09:43
Beitrag # 9 von 9
Beitrag ID: #571061
Bewertung:
(353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
"Eine weichere Methode könne folgendermaßen funktionieren: "

So habe ich das mal für einen Kunden gelöst.
Sprich: Du stattest das Script mit einem Gedächtnis aus, von welchen Dateien es die Finger lassen soll und welche Dateien schon fertig sind. Und dann wird das Script halt mehrfach gestartet, bis alles weg ist.
Funktionierte gut.

Die Hauptarbeit damals war das Interface, wie man dem Anwender mitteilt, was grad passiert ist ;)


als Antwort auf: [#571046]
Hier Klicken X
Hier Klicken

Aktuell

InDesign / Illustrator
figma_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
21.10.2019 - 22.10.2019

München
Montag, 21. Okt. 2019, 09.30 Uhr - Dienstag, 22. Okt. 2019, 17.30 Uhr

Schulung, Seminar

Wer hochwertige und farbechte Ergebnisse im Digitaldruck erzielen will, der braucht umfassende Colormanagemement- und PDF-Kenntnisse. Selbst wenn die Maschine kalibriert und das Rip richtig konfiguriert ist, lassen die Ergebnisse oft zu wünschen übrig. Der Grund hierfür liegt zu 90 % in den Daten und in falsch eingestellten Anwendungsprogrammen, auch in falschen Einstellungen im Druckmenü.

Nein

Organisator: Cleverprinting.de

https://www.cleverprinting.de/zweitaegige-weiterbildung-zum-digitaldruck-operator/

Zweitägige Weiterbildung zum Digitaldruck-Operator
Veranstaltungen
21.10.2019 - 23.10.2019

Riga, die Hauptstadt Lettlands
Montag, 21. Okt. 2019, 09.32 Uhr - Mittwoch, 23. Okt. 2019, 09.33 Uhr

VIP-Event

Jedes Jahr haben Sie die Möglichkeit, beim VIP-Event mehr über die Produkte von axaio software, callas software und andere Lösungen zu erfahren, die Four Pees anbietet.

Diejenigen, die uns bereits kennen, wissen, dass wir gerne Business mit Genuss kombinieren. Wir sind schon sehr gespannt und wollen Ihnen deshalb gern einen Blick hinter die Kulissen gewähren ...

Die Stadt der gotischen Türme
Das diesjährige Ziel ist Riga, die Hauptstadt Lettlands. Die gotischen Türme, die das Stadtbild Rigas dominieren, haben den Anschein von Strenge, aber das trifft nicht zu. Diese pulsierende, kosmopolitische Stadt ist die größte der drei baltischen Hauptstädte und beherbergt einige Szenebars und experimentelle Restaurants. Das klingt doch nach einem perfekten Rahmen für unser nächstes VIP-Event, oder?

Nein

Organisator: callas

https://www.callassoftware.com/de/events/2019/10/vip-event-riga

Sind Sie für das nächste VIP-Event bereit?
Hier Klicken