openrestylua:在接收到来自api服务器的响应后,无法连接到redis

30byixjq  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(284)

我正在做一个基于api键的调用限制器,我在redis中保留调用计数器,其中key是我的api键,value是计数器。在达到阈值或允许对该键的调用后,我抛出一条消息,说明已达到配额或其他内容。它工作正常,响应也很快,但问题是我无法访问api服务器的响应状态,因此即使响应为500,调用计数器也会增加。现在,我需要做的是,增加计数器只有当我得到状态码2.x.x,但我只能捕获响应 ngx.statusbody_filter_by_lua_file 但在这个指令中,我无法连接到redis或postgres。它抛出 failed to run body_filter_by_lua*: attempt to yield across C-call boundary 错误,但是我可以在 content_by_lua_file 但无法访问响应状态。希望我说清楚。
ps:我正在使用最新的openresty和LuaResty redis

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题