Več

Mod_tile: kako se izogniti izteku predpomnilnika med obnovo DB

Mod_tile: kako se izogniti izteku predpomnilnika med obnovo DB


Uporabljam strežnik ploščic OSM s privzetim nizom (mapnik, tirex, mod_tile, apache). Ker potrebujem le določena področja, ponavadi vnaprej ploščam vse ploščice. Zdaj želim obnoviti kode DB Postgres DB za spremembo sheme (da bi zadovoljili posebne zahteve glede sloga). Kako se lahko izognem neuspešnim zahtevam ploščic v tem času zaradi politike veljavnosti predpomnilnika mod_tile? Uporabljam privzeto konfiguracijo mod_tile in o tem še ne vem veliko.


Mislim, da sem našel boljši način od predlaganih (boljši, ker je lažji in manj invaziven): Če je datoteka /var/lib/mod_tile/planet-import-complete obstaja, časovni žig njegove spremembe določa, ali lahko predpomnjene ploščice potečejo ali ne. Če je časovni žig datoteke starejši, potem predpomnjene ploščice ne bodo obnovljene.

V skladu s to objavo Frederika mod_tile predpostavlja, da so podatki DB stari 3 dni, če ta datoteka manjka.

Namig: dotik ukaz ima parameter -t za ročno nastavitev časovnega žiga (v mojem primeru v preteklost)

Ugotovil sem, da sem bral http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/


Če ima vaš strežnik dovolj prostora na disku, obnovite zbirko podatkov v zbirki podatkov z drugim imenom. Ko je obnovitev baze podatkov končana, lahko v konfiguraciji preklopite zbirke podatkov.


Oglejte si naslednja spletna mesta:

http://wiki.openstreetmap.org/wiki/Mod_tile#tile_expiry

https://github.com/openstreetmap/mod_tile/blob/master/mod_tile.conf

Druga možnost je, da se dotaknete vseh datotek v predpomnilniku na nedavni datum in čas (na primer 12. januar 2015 0: 00u):

poišči/var/lib/mod_tile/[tiledir]/-type f -exec touch -t 201501120000 {} ;

Poglej si posnetek: Klepet Kako se izogniti izgorelosti