openresty 提供的几个新的生命周期阶段指令
  8KhYbgszLLmZ 2023年11月02日 64 0

实际上这几个指令很早就有了,只是最近在重新学习openresty 的时候发现的

exit_worker_by_lua_*

在每次nginx worker 进程退出的时候执行,当master 进行禁用的时候,这个钩子会在nginx 进程退出之前执行

主要的场景是进行资源释放,以及worker 非正常退出

server_rewrite_by_lua_*

在server rewrite 阶段的处理,对于每个请求都会执行,同时也会包含时候是子请求状态,同时我们也可以调用暴露的

lua api,注意会使用独立的协程(类似沙箱环境)对于共享的可以使用ctx 以及shared 字典,或者db

注意如果为了退出当前请求,ngx.exit(ngx.OK) 是不起作用的,需要使用ngx.exit 对于状态码泗洪>=200 <300 代表正常,ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)

表示执行失败

说明

以上几个新指令还是比较有用的,很值得尝试下

参考资料

​https://github.com/openresty/lua-nginx-module#exit_worker_by_lua_block​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  bifOjSxj34Bv   2023年12月07日   38   0   0 nginxDockerdockernginx
8KhYbgszLLmZ