[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Script in Intervall ausführen

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

Script in Intervall ausführen

Azrael
Beiträge gesamt: 16

12. Dez 2019, 08:44
Beitrag # 1 von 7
Bewertung:
(1914 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebes Forum,

ich habe mit viel Mühe und Dank eurer Hilfe ein (aus meiner Sicht) sehr schönes und hilfreiches Script erstellt. Das läuft so gut, dass ich es in einer extra dafür bereitgestellten InDesign Version permanent bzw. in Intervallen laufen lassen möchte.

Dazu bedarf es wohl dem Einsatz eines IdleTasks. Ich habe im Forum auch bereits einen ersten Anhaltspunkt gefunden:
Code
var newIdleTask = app.idleTasks.add  
(
{
name : "DoSomethingIfIdleEverySecond" ,
sleep : 1000
}
);

var onIdleListener = newIdleTask.addEventListener( IdleEvent.ON_IDLE , doSomeThing , false);

function doSomeThing(evt)
{
// Your functionality goes here:
if(app.documents.length == 0){return};
if(app.selection.length > 1)
{
// Notify my panel
}

};


Aber der Ansatz liefert mir eine Fehlermeldung, wonach die angeforderte Aktion nicht ausgeführt werden konnte, weil das Objekt nicht mehr existiere.

Ich müsste ja im Code lediglich die sleep Zeit etwas heraufsetzen und die Funktion durch meine eigene erstetzt.

Leider kann ich nirgends eine (für mich) geeignete Dokumentation für den Einsatz von IdleTasks finden.

Daher wollte ich hier mal vorsichtig um eure Hilfe bitten...

Gruß
Alex
X

Script in Intervall ausführen

WernerPerplies
Beiträge gesamt: 2759

12. Dez 2019, 09:23
Beitrag # 2 von 7
Beitrag ID: #573247
Bewertung:
(1906 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Alex,

du willst also wohl einen Server-Dienst schreiben.

Zwei Dinge fallen mir ein:

1. Eventhandling erfordert eine eigene Targetengine:
Also am Anfang so etwas einfügen:
Code
#targetengine "MyIdleEventHandler"; 


Nur damit bleiben
newIdleTask
und
doSomeThing
nach Ausführung des Skriptes definiert.

2. Fehlerhandling:
Wo und wobei wird der Fehler geworfen?

Schau Dir hierzu mal diese Beiträge an:
InDesign Script Programming - Errorhandling

Und noch etwas:
Nach meiner Erfahrung funktioniert ein IdleTask-Handler auf einer nicht benutzten InDesign-Installation nur eine gewisse Zeit, danach erst wieder, wenn InDesign erneut von außen selektiert wird.


als Antwort auf: [#573246]

Script in Intervall ausführen

Uwe Laubender
Beiträge gesamt: 5314

12. Dez 2019, 10:07
Beitrag # 3 von 7
Beitrag ID: #573248
Bewertung:
(1894 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Werner …Und noch etwas:
Nach meiner Erfahrung funktioniert ein IdleTask-Handler auf einer nicht benutzten InDesign-Installation nur eine gewisse Zeit, danach erst wieder, wenn InDesign erneut von außen selektiert wird.


Hallo Alex,
die von Werner gemachte Erfahrung kann ich voll und ganz bestätigen!

Es kann schon genügen, dass der Anwender eine Stunde Mittag macht. Und schon funktioniert der IdleTask-Handler nicht mehr. Übrigens unabhängig davon, ob der Rechner dabei in einen Energiesparmodus versetzt wird.


als Antwort auf: [#573247]

Script in Intervall ausführen

Azrael
Beiträge gesamt: 16

12. Dez 2019, 11:35
Beitrag # 4 von 7
Beitrag ID: #573252
Bewertung:
(1879 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für die schnelle Rückmeldung.

Gibt es denn wohl eine Alternative auf dem Mac, die es ermöglicht das Script einmal pro Stunde laufen zu lassen?

Ich könnte das Script ja in InDesign auf ein Tastaturkürzel legen. Dann müsste quasi einmal pro Stunde nur eine Taste gedrückt werden.

Das kann doch eigentlich keine große Sache sein. Dafür muss es doch irgendwo Systemwerkzeuge geben. Bin verzweifelt...


als Antwort auf: [#573248]

Script in Intervall ausführen

WernerPerplies
Beiträge gesamt: 2759

12. Dez 2019, 11:55
Beitrag # 5 von 7
Beitrag ID: #573253
Bewertung:
(1871 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

Zitat Gibt es denn wohl eine Alternative auf dem Mac, die es ermöglicht das Script einmal pro Stunde laufen zu lassen?

Ja, ein AppleScript-Eventhandler, das InDesign bei Laune hält.
Aber da fragst Du dann am Besten Leute, die AppleScript besser beherrschen als ich.

Einige Infos findest Du hier:

MacOS Überwachungsscript


als Antwort auf: [#573252]

Script in Intervall ausführen

Ralf Hobirk
Beiträge gesamt: 5961

12. Dez 2019, 12:19
Beitrag # 6 von 7
Beitrag ID: #573254
Bewertung:
(1863 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Alex,

sieh dir mal den LaunchD Task Scheduler an:

http://www.failedinsider.com/...askschedulersupport/

Dieser wird bei mir demnächst auf einem dedizierten Mac eingesetzt, um in bestimmten Intervallen InDesign zu starten und ein umfangreicheres Script laufen zu lassen. Ein erster Test, zu einem bestimmten Zeitpunkt InDesign zu starten, war auf Anhieb erfolgreich.


als Antwort auf: [#573252]

Script in Intervall ausführen

Azrael
Beiträge gesamt: 16

13. Dez 2019, 08:21
Beitrag # 7 von 7
Beitrag ID: #573265
Bewertung:
(1781 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für eure Tipps.

Besonders dir, Ralf, für den mit der App.
Eigentlich ist das ja ein Forum für Progammierer.
Aber diese Lösung gefällt mir außerordentlich gut.
Jetzt muss sie nur noch funktionieren ;)


als Antwort auf: [#573254]
X