[OSM-Devserver] Wie funktioniert tirex
Nop
ekkehart at gmx.de
So Mär 14 13:39:11 CET 2010
Hallo!
Erstmal vorneweg: Durch die Umstellung auf tirex ist die Karte wohl erst
mal völlig eingefroren. Ich kann weder Updates noch Änderungen am Stil
machen oder den Server beeinflussen. Sämtliche Skripte und Abläufe
müssen angepasst werden und ich habe grade wenig Zeit um das alles
hopplahop umzustellen.
Können wir bitte das Ganze erst mal wieder auf rendered zurückdrehen,
bis ich die Gelegenheit hatte, das alles zu verstehen, die Kartenskripte
in Ruhe anzupassen und die nötigen Rechte habe, es überhaupt zu benutzen?
Am 14.03.2010 10:01, schrieb Jochen Topf:
>>> Wie funktioneren denn die analogen Operationen mit tirex?
>>> - Anhalten?
>>> - Fortsetzen?
>
> Wen oder was willst Du anhalten und fortsetzen? Das Rendering? Ausliefern der
> Tiles? Den ganzen Server?
Bisher habe ich renderd angehalten, um Änderungen an DB oder Stylesheets
machen zu können.
> Es gibt die Init-Skripte /etc/init.d/tirex-master und tirex-renderd, damit
> wird das ganze System gestartet und gestoppt. Wenn Du nur das rendering
> anhalten willst, dann geht das mit
Habe ich die Rechte, dort was auszuführen? Für renderd mußte erst was
eingerichtet werden, daß sudo funktioniert. Ist das analog für tirex
auch erfolgt?
> tirex-send -w0 stop_rendering_bucket bucket=BUCKETNAME
>
> Starten wieder mit
>
> tirex-send -w0 continue_rendering_bucket bucket=BUCKETNAME
Das funktioniert nicht. Ich hab's ausprobiert, sehe aber keine Reaktion
in tirex-status.
>
> Die Queue ist in mehrere Buckets aufgeteilt (Prioritätsklassen). Die kann man
> einzeln anhalten und laufen lassen. Damit kann man z.B.
> Hintergrundberechnungen vorübergehend unterbrechen, aber die live-Berechnungen
> laufen lassen.
Ich muß üblicherweise für ein Update alles anhalten. Geht das auch?
>>> - Was ist für einen Update der DB zu tun?
>
> Da hat sich nichts geändert.
Für ein Update der DB muß ich das rendering anhalten, den UPdate
durchführen und hinterher alles wieder starten und ihm mitteilen, daß
die alten Tiles jetzt expired sind. Die für renderd eingerichtete
Prozedur ist es offensichtlich nicht mehr. Wie geht das jetzt?
>>> - Was muß man tun, um ein Neurendern von Tiles zu erzwingen?
>
> wie Sven schon sagt, müßte das weiter gehen:
>> mod_tile hat sich ja nicht geändert. Neu rendern sollte also wie
>> üblich über den Aufruf eine solchen URL laufen:
>>
>> http://topo.openstreetmap.de/topo/18/137260/90001.png/dirty
Da habe ich mich wohl mißverständlich ausgedrückt. Ich will nicht ein
einzelnes Tile neurendern, sondern muß nach einem Update der
Renderregeln mitteillen, daß alle Tiles veraltet sind und bei Anfragen
neu gerendert werden sollen. Bisher mußte dafür
/osm/tiles/planet-import-complete getoucht werden. Ist das mod_tile und
somit gleich geblieben? Oder geht das jetzt auch anders?
> Von der Kommandozeile auch mit:
> tirex-batch --prio 10 map=base z=10 x=20 y=30
> oder sowas. Lies die Manpage von tirex-batch, das kann noch viel mehr.
>
Aber das alte render_list funktioniert weiterhin, oder?
>>> - Was muß man tun, um ein Neulesen des Kartenstyles auszulösen?
>
> SIGHUP schicken an den "tirex-renderd-starter". Der startet dann seine
> Kinder neu, die das eigentliche Rendering machen.
Was ist ein SIGHUP und wie schickt man sowas? Ich bin kein Unix-Experte.
>
>>> - Habe ich die nötigen Rechte?
>
> Die init-Skripte muss man als root aufrufen wie üblich. Das braucht man aber
> eigentlich im Betrieb nicht mehr anfassen. Außer man will die Konfiguration
> ändern.
>
> Tirex läuft als User "tirex". Zumindest für den SIGHUP musste root oder
> dieser User sein. Entweder machen wir da was mit sudo oder wir finden einen
> anderen Weg.
Das heißt ich kann momentan allein schon von den Rechten her keinerlei
Updates oder Änderungen machen?
bye
Nop