|
|
|
<!--
|
|
|
|
|
|
|
|
pandoc server-test-local.md -o zz.pdf --from markdown --template eisvogel --listings \
|
|
|
|
-V listings-disable-line-numbers=true -V listings-no-page-break=true \
|
|
|
|
-V geometry:"left=12mm,right=12mm,top=15mm,bottom=25mm" -V fontsize=10pt \
|
|
|
|
-V disable-header-and-footer=true
|
|
|
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
# Lokales Testen eines Python-Serverprozesses
|
|
|
|
|
|
|
|
Die im Labor wichtigen Serverprozesse wie z.B. `bur` oder `cal` laufen auf einem zentralen Rechner und sind somit leicht allgemein erreichbar. Für Testzwecke (z.B. Anpassungen von Kalibrierschein-Templates) ist es dagegen günstig, den betreffenden Serverprozess lokal zu betreiben, um damit einfacher das Ergebnis beurteilen zu können und auch um ggf. aussagekräftige Fehlermeldungen zu erhalten. Im Folgenden wird am Beispiel des `bur`-Servers gezeigt, wie man vorgehen muss.
|
|
|
|
Die im Labor wichtigen Serverprozesse wie z.B. `bur` oder `cal` laufen auf dem zentralen Rechner `a73434` und sind somit leicht allgemein erreichbar. Für Testzwecke (z.B. Anpassungen von Kalibrierschein-Templates) ist es dagegen günstig, den betreffenden Serverprozess lokal zu betreiben, um damit einfacher das Ergebnis beurteilen zu können und auch um ggf. aussagekräftige Fehlermeldungen zu erhalten. Im Folgenden wird am Beispiel des `bur`-Servers gezeigt, wie man vorgehen muss.
|
|
|
|
|
|
|
|
Es sei angemerkt, dass alles Folgende nicht oder nur mit immensem Aufwand unter dem Beriebssystem »Windows« erledigt werden kann. »Linux« ist daher zwingend nötig.
|
|
|
|
|
| ... | ... | @@ -27,7 +36,7 @@ Die dort befindliche Datei `config` enthält die Zeile |
|
|
|
url = https://gitlab1.ptb.de/vaclab/bur.git
|
|
|
|
```
|
|
|
|
|
|
|
|
Sie kennzeichnet, wie auf das serverseitige Git-Repositorium zugegriffen wird. Mit einem Texteditor (z.B. »Visual Studio Code«, »VSCodium«, »Geany«, ...) kann man die URL durch die Angabe von Nutzernamen und Passwort erweitern, um sich ggf. beim Server zu autorisieren. Die zu ändernde URL bekommt die folgende Form
|
|
|
|
Sie kennzeichnet, wie auf das serverseitige Git-Repositorium zugegriffen wird. Mit einem Texteditor (z.B. »Visual Studio Code«, »VSCodium«, »Geany«, ...) kann man die URL durch die Angabe von Nutzernamen und Passwort erweitern, um sich ggf. beim Server zu autorisieren. Die zu ändernde URL bekommt die folgende Form:
|
|
|
|
|
|
|
|
```
|
|
|
|
https://UUUU:PPP@gitlab1.ptb.de/vaclab/bur.git
|
| ... | ... | @@ -77,17 +86,17 @@ pip3 install -e . # Python-Bibliotheken installieren |
|
|
|
./bur
|
|
|
|
```
|
|
|
|
|
|
|
|
Als Folge kann nun über den eigenen Rechner (`localhost`) auf die in der Beschreibung (siehe Git-Repositorium) genannten Schnittstellen zugegriffen werden. Führt man Änderungen an den zum Serverprozess gehörenden Dateien aus, startet der Serverprozess automatisch neu, womit die Änderungen sofort wirksam sind.
|
|
|
|
Als Folge kann nun über den eigenen Rechner (`localhost`) auf die in der Beschreibung (siehe Git-Repositorium) genannten Schnittstellen zugegriffen werden. Führt man Änderungen an den zum Serverprozess gehörenden Dateien aus, startet der Serverprozess automatisch neu, womit die Änderungen sofort wirksam werden.
|
|
|
|
|
|
|
|
## Zugriff auf den lokalen Serverprozess
|
|
|
|
|
|
|
|
Dazu startet man ein neues Terminal. Darin kann mit Hilfe des Programms `curl` auf die lokalen URLs des Serverprozesses zugerfiffen werden. Als Beispiel soll hier die Erzeugung des LaTeX-Quelltextes für ein Angebotsschreiben dienen. An die URL der Schnittstelle »offer« muss die ID des Planungsdokuments in der Datenbank angehangen werden (hier `pla-ptb_ag_7.54-2023-001`).
|
|
|
|
Dazu startet man ein neues Terminal. Darin kann mit Hilfe des Programms `curl` auf die lokalen URLs des Serverprozesses zugegriffen werden. Als Beispiel soll hier die Erzeugung des LaTeX-Quelltextes für ein Angebotsschreiben dienen. An die URL der Schnittstelle »offer« muss die ID des betreffenden Planungsdokuments aus der Datenbank angehangen werden (hier als Beispiel `pla-ptb_ag_7.54-2023-001`).
|
|
|
|
|
|
|
|
```
|
|
|
|
curl http://localhost:5000/pla/offer/pla-ptb_ag_7.54-2023-001
|
|
|
|
```
|
|
|
|
|
|
|
|
Sollte die Kommunikation mit dem Serverprozess zu einem Python-Fehler führen, kann man dies in dem Terminal, in welchem der Serverprozess gestartet wurde, beobachten und seine Schlüsse ziehen. Interessiert man sich dagegen für inhaltliche Fehler des LaTeX-Codes, empfiehlt es sich, die Ausgabe des curl-Aufrufes in eine Datei umzuleiten, die dann z.B. mit `lualatex` zu einem PDF-Dokument kompiliert werden kann:
|
|
|
|
Sollte die Kommunikation mit dem Serverprozess zu einem Python-Fehler führen, kann man dies in dem Terminal, in welchem der Serverprozess gestartet wurde, beobachten und daraus seine Schlüsse ziehen. Interessiert man sich dagegen für inhaltliche Fehler des LaTeX-Codes, empfiehlt es sich, die Ausgabe des curl-Aufrufes in eine Datei umzuleiten, die dann z.B. mit `lualatex` zu einem PDF-Dokument kompiliert werden kann:
|
|
|
|
|
|
|
|
```
|
|
|
|
curl http://localhost:5000/pla/offer/pla-ptb_ag_7.54-2023-001 > zz.tex
|
| ... | ... | @@ -104,7 +113,6 @@ Abbruch mit `Strg C` und danach Deaktivieren der virtuellen Python-Umgebung: |
|
|
|
deactivate
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
`RN 01/2024`
|
|
|
|
|
|
|
|
|
| ... | ... | |
| ... | ... | |