-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature: new ngx_meta_lua_module (with multi-subsystems lua_shared_dict support) #76
base: master
Are you sure you want to change the base?
feature: new ngx_meta_lua_module (with multi-subsystems lua_shared_dict support) #76
Conversation
The new `util/build.sh` script and embedded test suite in this repo warrant some updates to the `clean` target.
This replaces lua-nginx-module's ngx_http_lua_fake_shm_module for the `t/148-fake-shm-zone.t` and `t/149-hup-fake-shm-zone.t` test suites.
89795c9
to
3f80eea
Compare
I need this function exactly,But not yet merged. |
this repository is a part of https://github.com/api7/apisix-nginx-module how to use cd apisix-nginx-module/patch |
Bump. Can this be merged? |
bump. same question. can be merged? |
This PR introduces a new NGINX core module: ngx_meta_lua_module.
This new module aims to:
lua_shared_dict
between thehttp {}
andstream {}
subsystems (with some code cleanup along the way).ngx_meta_lua_module offers a new
nginx.conf
configuration block:lua {}
.New lua {} conf block
In the below example, we specify
lua_shared_dict
in the newlua {}
block to share the allocated shm zone between all subsystems:Currently,
lua_shared_dict
is the only directive supported inside of thelua {}
configuration block. Many more could follow when settings could be applied globally to all subsystems' Lua VMs (e.g.lua_package_path
,lua_max_pending_timers
, etc...). In some cases, it would also make sense to only allow some Lua directives to be specified from within thelua {}
block, e.g.lua_sa_restart
.Current state
For the time being, this PR is opened for feedback and reviews without an estimated timeline for merging.
That said, all tests are passing for:
See also
For this module to work, it must be compiled with updated versions of ngx_http_lua_module, ngx_stream_lua_module, and lua-resty-core. See the following branches:
The tt2 templates of this repositories have also been updated to support the ngx_meta_lua_module, and produce valid ngx_stream_lua_module/ngx_http_lua_module targets.
A list of topics requesting this feature:
TODOs
A non-exhaustive list: