comparison src/http/modules/ngx_http_fastcgi_module.c @ 5905:2f7e557eab5b

Cache: proxy_cache_lock_age and friends. Once this age is reached, the cache lock is discarded and another request can acquire the lock. Requests which failed to acquire the lock are not allowed to cache the response.
author Roman Arutyunyan <arut@nginx.com>
date Tue, 18 Nov 2014 20:41:12 +0300
parents 973ee2276300
children 195561ef367f
comparison
equal deleted inserted replaced
5904:abb466a57a22 5905:2f7e557eab5b
417 ngx_conf_set_msec_slot, 417 ngx_conf_set_msec_slot,
418 NGX_HTTP_LOC_CONF_OFFSET, 418 NGX_HTTP_LOC_CONF_OFFSET,
419 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_timeout), 419 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_timeout),
420 NULL }, 420 NULL },
421 421
422 { ngx_string("fastcgi_cache_lock_age"),
423 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
424 ngx_conf_set_msec_slot,
425 NGX_HTTP_LOC_CONF_OFFSET,
426 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_lock_age),
427 NULL },
428
422 { ngx_string("fastcgi_cache_revalidate"), 429 { ngx_string("fastcgi_cache_revalidate"),
423 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, 430 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
424 ngx_conf_set_flag_slot, 431 ngx_conf_set_flag_slot,
425 NGX_HTTP_LOC_CONF_OFFSET, 432 NGX_HTTP_LOC_CONF_OFFSET,
426 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate), 433 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.cache_revalidate),
2372 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; 2379 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR;
2373 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; 2380 conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
2374 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; 2381 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
2375 conf->upstream.cache_lock = NGX_CONF_UNSET; 2382 conf->upstream.cache_lock = NGX_CONF_UNSET;
2376 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; 2383 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC;
2384 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC;
2377 conf->upstream.cache_revalidate = NGX_CONF_UNSET; 2385 conf->upstream.cache_revalidate = NGX_CONF_UNSET;
2378 #endif 2386 #endif
2379 2387
2380 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; 2388 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR;
2381 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; 2389 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR;
2635 ngx_conf_merge_value(conf->upstream.cache_lock, 2643 ngx_conf_merge_value(conf->upstream.cache_lock,
2636 prev->upstream.cache_lock, 0); 2644 prev->upstream.cache_lock, 0);
2637 2645
2638 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, 2646 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout,
2639 prev->upstream.cache_lock_timeout, 5000); 2647 prev->upstream.cache_lock_timeout, 5000);
2648
2649 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age,
2650 prev->upstream.cache_lock_age, 5000);
2640 2651
2641 ngx_conf_merge_value(conf->upstream.cache_revalidate, 2652 ngx_conf_merge_value(conf->upstream.cache_revalidate,
2642 prev->upstream.cache_revalidate, 0); 2653 prev->upstream.cache_revalidate, 0);
2643 2654
2644 #endif 2655 #endif