Mercurial > hg > nginx-quic
comparison src/http/modules/ngx_http_scgi_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 | 548f704c1907 |
comparison
equal
deleted
inserted
replaced
5904:abb466a57a22 | 5905:2f7e557eab5b |
---|---|
272 { ngx_string("scgi_cache_lock_timeout"), | 272 { ngx_string("scgi_cache_lock_timeout"), |
273 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 273 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
274 ngx_conf_set_msec_slot, | 274 ngx_conf_set_msec_slot, |
275 NGX_HTTP_LOC_CONF_OFFSET, | 275 NGX_HTTP_LOC_CONF_OFFSET, |
276 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_lock_timeout), | 276 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_lock_timeout), |
277 NULL }, | |
278 | |
279 { ngx_string("scgi_cache_lock_age"), | |
280 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
281 ngx_conf_set_msec_slot, | |
282 NGX_HTTP_LOC_CONF_OFFSET, | |
283 offsetof(ngx_http_scgi_loc_conf_t, upstream.cache_lock_age), | |
277 NULL }, | 284 NULL }, |
278 | 285 |
279 { ngx_string("scgi_cache_revalidate"), | 286 { ngx_string("scgi_cache_revalidate"), |
280 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 287 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
281 ngx_conf_set_flag_slot, | 288 ngx_conf_set_flag_slot, |
1131 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; | 1138 conf->upstream.cache_bypass = NGX_CONF_UNSET_PTR; |
1132 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; | 1139 conf->upstream.no_cache = NGX_CONF_UNSET_PTR; |
1133 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; | 1140 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; |
1134 conf->upstream.cache_lock = NGX_CONF_UNSET; | 1141 conf->upstream.cache_lock = NGX_CONF_UNSET; |
1135 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; | 1142 conf->upstream.cache_lock_timeout = NGX_CONF_UNSET_MSEC; |
1143 conf->upstream.cache_lock_age = NGX_CONF_UNSET_MSEC; | |
1136 conf->upstream.cache_revalidate = NGX_CONF_UNSET; | 1144 conf->upstream.cache_revalidate = NGX_CONF_UNSET; |
1137 #endif | 1145 #endif |
1138 | 1146 |
1139 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; | 1147 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; |
1140 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; | 1148 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; |
1389 ngx_conf_merge_value(conf->upstream.cache_lock, | 1397 ngx_conf_merge_value(conf->upstream.cache_lock, |
1390 prev->upstream.cache_lock, 0); | 1398 prev->upstream.cache_lock, 0); |
1391 | 1399 |
1392 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, | 1400 ngx_conf_merge_msec_value(conf->upstream.cache_lock_timeout, |
1393 prev->upstream.cache_lock_timeout, 5000); | 1401 prev->upstream.cache_lock_timeout, 5000); |
1402 | |
1403 ngx_conf_merge_msec_value(conf->upstream.cache_lock_age, | |
1404 prev->upstream.cache_lock_age, 5000); | |
1394 | 1405 |
1395 ngx_conf_merge_value(conf->upstream.cache_revalidate, | 1406 ngx_conf_merge_value(conf->upstream.cache_revalidate, |
1396 prev->upstream.cache_revalidate, 0); | 1407 prev->upstream.cache_revalidate, 0); |
1397 | 1408 |
1398 #endif | 1409 #endif |