7. GeoShop Jobs

7.1. Jobs Übersicht

Prozesse im GeoShop sind Jobs. Jobs entstehen zum Beispiel beim Upload oder Download von Daten. Jeder Job erhält eine eindeutige Nummer. Jobs werden in einer Jobqueue abgelegt und verarbeitet. Die Jobs können mit dem GeoShop Administrator unter Server > Processes > Jobs in Job Quere beobachtet und verwaltet werden.

Abbildung 15. GeoShop Administrator Jobs

GeoShop Administrator Jobs

Die Jobs in der Jobqueue werden sequentiell abgearbeitet. Ein Job, der ausgeführt wird, erhält den Status EXECUTING. Auf die Verarbeitung wartende Jobs haben den Status WAITING. Sind mehrere Servers definiert, so können auch mehrere Jobs parallel verarbeitet werden. Dazu finden Sie mehr im GeoShop Administrator Benutzerhandbuch. Ist ein Job abgearbeitet, so verschwindet er aus der Jobqueue.

Jeder Job erzeugt folgende Anteile im GeoShop.

GEOSHOP_DIR\data\logs\joblogs\<jobnr>.logLog-File des Jobs.
GEOSHOP_DIR\data\jobs\<jobnr>Parameter für Job. Wird nach erfolgreicher Beendingung des Jobs wieder gelöscht.
GEOSHOP_DIR\data\temp\<jobnr>\*.*Temporäres Verzeichnis für Job. Darin werden temporäre Anteile wie z.B. Daten für den Job abgelegt. Wird nach erfolgreicher Beendingung des Jobs wieder gelöscht.
GEOSHOP_DIR\data\download\<nr>\*.*Bei Jobs für den Download enthält dieses Verzeichnis das Produkt, das der Besteller downloaden kann.

7.2. Jobs Debugging

Jobs können in der Verarbeitung abbrechen, wenn ein Fehler auftritt. Der Job ist dann in der Jobqueue unter dem Status STOPPED aufgeführt.

Abbildung 16. GeoShop Administrator Job Stopped

GeoShop Administrator Job Stopped

Über einen Doppelclick auf den Job oder mit Show Log können Sie das Logfile des Jobs anschauen.

Abbildung 17. GeoShop Administrator Job Log

GeoShop Administrator Job Log

Als Beispiel wurde im Script des Jobs ein absichtlicher Fehler eingebaut, um den Job zu stoppen. Hier muss der Syntax Fehler in der Zeile 851 des Script eliminiert werden. Danach kann der Job mit Start wieder gestartet werden.

Debugging

Bei der Entwicklung von komplexen Konfigurationen können entsprechende Jobs aber auch aufgrund diverser Ursachen abbrechen. In einem solchen Fall ist das Eruieren des Fehlers über den GeoShop Administrator umständlich. Wir empfehlen das nachfolgende Vorgehen.

Wechseln in das Job Temp Verzeichnis

Rufen Sie die Kommando Zeile auf und wechseln Sie in das Temp Verzeichnis des Jobs.

cd GEOSHOP_DIR\data\temp\1820

Editieren der ICS Optionen

Im Temp Verzeichnis des Jobs ist ein ICS Optionen File enthalten, dass alle Optionen für den Job enthält und mit dem ICS aufgerufen wird.

GEOSHOP_DIR\data\temp\1820\ics.opt

Öffnen Sie dieses File mit einem Texteditor und passen Sie folgende Optionen an.

:
remsilent
:
remappend_log
:

Dekativieren Sie die beiden Optionen silent und append_log mit einem Prefix rem. Dadurch sind beide Optionen umbenannt und nicht mehr aktiv. Dies hat den gleichen Effekt, wie wenn die Optionen entfernt sind. silent definiert, dass ICS keine Meldungen an die Konsole ausgeben soll. append_log definiert, das Log-Meldungen in ein bestehendenes Log-File geschrieben werden sollen . Beide Optionen sind für das Debugging nicht erwünscht. Es sind Meldungen in der Konsole erwünscht, und das Log-File soll neu erzeugt werden.

Aufruf Konfiguration

Nun kann ICS mit den geänderten Optionen aufgerufen werden

GEOSHOP_DIR\system\bin\ics.exe -opt ics.opt

Im Optionen File ist mit der Option script das Script definiert, welches ausgeführt wird. In der Konsole sehen Sie die Meldungen von ICS, darunter auch Meldungen zum Abbruch der Konfiguration.

Editieren Konfiguration

Editieren und korrigieren Sie die Konfiguration definiert mit der Option script und führen Sie die Konfiguration wieder aus.

Wiederholen Sie dies, bis die Konfiguration ohne Fehler durchläuft.

Zurücksetzen der ICS Optionen

Setzen Sie die ICS Option silent und append im Optionen File wieder zurück.

:
silent
:
append_log
:

Verlassen Sie danach das Temp Verzeichnis des Jobs.

GeoShop Administrator Job Starten

Starten Sie den Job im GeoShop Administrator. Der Job läuft jetzt ohne Abbruch durch. Die entsprechende Konfiguration ist in Ordnung.