[mod_tile / renderd] Add two more priority levels into the queues of renderd

In addition to the request queue and the dirty queue, there are now also a requestPrio and requestBulk queue.
The rendering order now is first render requests from requestPrio, then from request followed by the
dirty queue and finally if no other requests are queued, render from the requestBulk queue.

RequestPrio, Request and RequestBulk all block, whereas Diry immediately returns with NotDoneYet.

This also changes mod_tile to submit requests that if not rendered in time would result in 404 errors as high priority.

prioBulk should be useful for things like rerendering all the outdated tiles in the background, but this patch
does not include those changes.
This commit is contained in:
Kai Krueger
2009-09-18 21:45:58 +00:00
parent 76aee081f9
commit 54c5306295
5 changed files with 83 additions and 50 deletions

View File

@ -10,7 +10,7 @@ extern "C" {
#define HTCP_EXPIRE_CACHE 1
#define HTCP_EXPIRE_CACHE_PORT "4827"
enum queueEnum {queueRequest, queueDirty, queueRender, queueDuplicate};
enum queueEnum {queueRequest, queueRequestPrio, queueRequestBulk, queueDirty, queueRender, queueDuplicate};
struct item {
struct item *next;