我需要对NGinx提供的图像进行一些时间处理,并且我希望能够快速响应来自缓存的部分处理图像.
以下是我喜欢的步骤:
我正在使用NGinx Lua模块处理图像,我希望能够使用proxy_cache功能(LRU清理,TTL等)
我尝试过使用proxy_pass,post_action和ngx.location.capture,但所有这些都等待子请求完成以关闭连接.我见过像Drupal Cache Warmer这样的解决方案,它发出了一个操作系统调用来卷曲,但如果可能的话,我不想这样做.
到目前为止,这是我的测试用例
server {
listen 8080;
location / {
rewrite_by_lua '
ngx.say(".")
--res = ngx.location.capture("/internal")
ngx.exit(ngx.OK)
';
proxy_pass http://127.0.0.1:8080/internal;
}
location /internal {
content_by_lua '
ngx.log(ngx.ERR, "before")
ngx.sleep(10)
ngx.say("Done")
ngx.log(ngx.ERR, "after")
ngx.exit(ngx.OK)
';
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 post_action 和 ngx.location.capture,但它们都等待子请求完成以关闭连接。
查看ngx.eof()文档。
更新: http: //wiki.nginx.org/HttpLuaModule#ngx.eof
| 归档时间: |
|
| 查看次数: |
3247 次 |
| 最近记录: |