From fa2011dc1a1ac7d62e1bcaee686f9a3f15e27205 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 20 Oct 2014 01:42:02 +0200 Subject: daq: nginx-lua now uses on_abort for faster recovery --- src/daq/nginx-lua/s5-nginx.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/daq/nginx-lua/s5-nginx.lua b/src/daq/nginx-lua/s5-nginx.lua index f1e3719..ab62bab 100644 --- a/src/daq/nginx-lua/s5-nginx.lua +++ b/src/daq/nginx-lua/s5-nginx.lua @@ -49,6 +49,7 @@ -- ..... -- -- location /path/to/hls { +-- ..... -- log_by_lua 's5.log()'; -- } -- @@ -57,6 +58,7 @@ -- allow ::1; -- deny all; -- limit_conn perserver 1; +-- lua_check_client_abort on; -- content_by_lua 's5.fetch()'; -- } -- @@ -106,6 +108,13 @@ end function _SFIVE.fetch() ngx.log(ngx.INFO, "SFive(fetch): client connected") + + local ok, err = ngx.on_abort(function() ngx.exit(ngx.HTTP_GONE) end) + if not ok then + ngx.log(ngx.ERR, "failed to register the on_abort callback: ", err) + ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR) + end + while true do logs = sfive_data:get_keys() for i, k in ipairs(logs) do -- cgit v1.2.3