20102011

Eigentlich wollte ich nur schnell dokumentieren (/admin/install), aber dabei hatte ich noch einige Ideen. Jetzt bin ich einigermaßen zufrieden mit dem Startup-Skript von watch_tim. Hier noch meine Gedanken während der letzten Optimierungen.

Also ein Problem in der /bash/watch_tim ist weiterhin, dass ich den Namen der PID-Datei außerdem nochmal in der lokalen watch_tim stehen haben muss.

Ich habe versucht, stattdessen die Option –exec $EXEC von start-stop-daemon zu nutzen, um den Prozess wiederzufinden. Das geht nicht, weil in der Prozesstabelle nicht der Name des Skripts steht, sondern der letzte darin gestartete Befehl steht (python /usr/local/django/dsbe_eupen/manage.py watch_tim /path/to/TIM/changelog)

Ich könnte fürs Matching die Option –name watch_tim benutzen, aber das kommt mir ziemlich ungenau vor. Wenn zwei ähnliche Installationen auf einem Server laufen, würde er beide beenden…

Ich könnte den Namen der PID-Datei im Lino-Code definieren und in beiden Skripts wie folgt ermitteln:

set DJANGO_SETTINGS_MODULE="myproject.settings"
PIDFILE=`python -c 'from lino.modlib.dsbe.management.commands.watch_tim import Command; print Command.pidfile'`

Aber dann hätte ich Angst, dass zukünftige Systemverwalter von Lino-Benutzern mich verfluchen (womöglich erst wenn ich schon tot bin und nichts mehr an meinen Entscheidungen ändern kann…) Deshalb ist übrigens mein Bugfix in der lino.utils.daemonextension jetzt nicht mehr wichtig.

Also gut, vorläufig lassen wir den Namen der PID-Datei in beiden Scripts definiert.