首页 > 其他 > 详细

ngx.timer.at

时间:2017-05-05 00:30:53      阅读:1027      评论:0      收藏:0      [点我收藏+]

 一、只执行一次

nginx.conf

   location /ngx_timer_at {
        default_type text/html;
        lua_code_cache off;
        content_by_lua_file /home/tinywan/Openresty_Protect/First_Protect/lua/get_timer_at.lua;
    }

get_timer_at.lua 文件

local delay = 5
local handler
handler = function (premature,param)
    -- do some routine job in Lua just like a cron job
    if premature then
        return
    end

    ngx.log(ngx.ERR, "param is : ", param)
end

local ok, err = ngx.timer.at(delay, handler,"Hello Tinywan")

执行请求后:curl http://127.0.0.1/ngx_timer_at 执行 5 s 后打印以下内容在日志文件中

    tail -f error.log 
    2017/05/04 23:24:38 [error] 95933#0: *433016 [lua] get_timer_at.lua:9: param is : Hello Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80

 

二、不停的循环,和while 一样的结果

local delay = 5
local handler
handler = function (premature,param)
    -- do some routine job in Lua just like a cron job
    if premature then
        return
    end

    ngx.log(ngx.ERR, "param is : ", param)

   ngx.timer.at(delay, handler,"again run... Tinywan")
end

local ok, err = ngx.timer.at(delay, handler,"Hello Tinywan")

 

执行请求后:curl http://127.0.0.1/ngx_timer_at 执行 5 s 后打印以下内容在日志文件中

2017/05/04 23:34:53 [error] 96020#0: *437080 [lua] get_timer_at.lua:9: param is : Hello Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80
2017/05/04 23:34:58 [error] 96020#0: *437123 [lua] get_timer_at.lua:9: param is : again run... Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80
2017/05/04 23:35:03 [error] 96020#0: *437152 [lua] get_timer_at.lua:9: param is : again run... Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80
2017/05/04 23:35:08 [error] 96020#0: *437195 [lua] get_timer_at.lua:9: param is : again run... Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80
2017/05/04 23:35:13 [error] 96020#0: *437224 [lua] get_timer_at.lua:9: param is : again run... Tinywan, context: ngx.timer, client: 127.0.0.1, server: 0.0.0.0:80

 

ngx.timer.at

原文:http://www.cnblogs.com/tinywan/p/6810574.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!