[Tilesathome] Questions on tile updating process
Andre Hinrichs
andre.hinrichs at gmx.de
Sun Apr 19 11:02:29 BST 2009
On Sonntag 19 April 2009, Maarten Deen wrote:
> Ok, you're checking tiles as you go. My idea was to select the lowest
> renderdate and rerender that tile. That is less dirty but requires a
> database with the renderdates, or 16 million http requests to get all dates
> (which would make it an awful hack).
Well, I do not have direct database access and there is no lighweight API for
requesting the data so I do have to request the status via http. But my idea
is to do this a bit more intelligent and store already made quiries and
requests in a local database with some additional info (quiry_date, tile_date,
request_date, tile_changed_date) where the tile_changed_date comes from the
OSM API. In case I trust the mechanism that tiles are automatically rerendered
when the data in the tile has changed I will not have to check the status
again until even this date is too old.
I was also thinking of storing the status of all tiles into the local
database. This would initially require a complete quiry of all 16 million
tiles. But afterwards it would only quiry empty tiles, if they are next to a
tile with content. This would give me the possibility to leave empty sea and
land tiles alone unless a neighbour tile gets content.
> > Requests are being sent with priority 4 and source
> > 'tile-reliability-checker'. Max age is currently set to one month since
> > the tiles seem to have been restored from a backup of 2009-03-04. At
> > least I cannot see tile dates older that date and younger than
> > 2009-04-14.
>
> There are. See tile (12, 2100, 1359) from 2009-01-14. There are more tiles
> in the Netherlands from januari.
Sorry, my logic was wrong. I meant younger than 2009-03-04 and older than
2009-04-14. I haven't seen any tile date inbetween these dates.
Oldest tile seen recently was 2008-09-18.
> > This situation results in rather high rate of render requests. I think in
> > the future the situation will get better.
> >
> > The script takes approx. 0.4 seconds for each tile. Means, that for a
> > complete world check with 16 mio tiles it would take approx. 77 days to
> > finish. Isn't this a good result if the max age for a tile is set to two
> > months???
>
> Yup. Sounds as a reasonable hack for not having a direct access to all
> tile's renderdates.
Yup.
I'm currently implementing a check for the queue length. The queue length
would be checked after each thousand requests and would go into a sleep loop
(15 minutes sleep) if queue has more than 10,000 entries und would go out of
sleep loop if queue length has fallen below 5,000 entries.
Regards,
Andre
More information about the Tilesathome
mailing list