Comments (3)
Is there any point in using the ngx.thread method if we're just going to wait until we're done with the normal request processing before firing a background request anyway?
from ledge.
No, probably not. Well, unless the thread protects the connection from closing prematurely in any way? Otherwise I think it's just a code sequence refactor.
from ledge.
Even if we move the background revalidate request to after the ngx.eof()
call with ESI there is the issue of what to do with sub-requests.
If they are also being served stale and revalidated in the background then that will block the main request until the ESI fragment has revalidated in the 'background', even though its returned stale content.
We can use ngx.is_subrequest
var to prevent background revalidating sub-requests as this is never going to be a useful thing to do unless its truly run in the background.
Additionally should we be passing on the sub-request's Warning header when it is served stale but the main request is not? That would seem like the right thing to do.
from ledge.
Related Issues (20)
- binding globally error:no such event HOT 1
- Can not Customize storage_driver
- doc error:upstream_ssl_verify default value is not false HOT 1
- Can't do a conditional on HTTP_ACCEPT_LANGUAGE HOT 1
- Openresty can't start: no file '/usr/local/lib/lua/5.1/ledge.so' HOT 1
- ESI request forced HTTPS connection even if config.upstream_use_ssl is set to false HOT 2
- HTTP v2 not supported yet HOT 1
- 500 if multiple Date headers are sent HOT 1
- Feature request: Revalidation of expired items in cache
- Recursive ESI with single handler HOT 2
- Ledge is not compatible with Openresty HOT 2
- Where are released being cut? HOT 6
- Fails to run with example from README HOT 1
- If Redis is down, response is not fetched from origin
- Ledge will only connect to Redis running on localhost HOT 10
- How to decouple range (range.lua) module? HOT 2
- issues with openresty 1.19 HOT 5
- Upstream timeout leads to mixed up responses HOT 5
- stale content not being updated HOT 4
- Error handling a request with multiple Surrogate-Capability headers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ledge.