location /lua { default_type text/html; content_by_lua_block { while true do ngx.sleep(0.001); end
ngx.say("hhh") } } location /test { default_type text/html; content_by_lua_block { ngx.say("hhh") } }
那我想要实现切时间片,但是没有那一毫秒的延时该如何做呢,有什么好的思路么?
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
那我想要实现切时间片,但是没有那一毫秒的延时该如何做呢,有什么好的思路么?
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
--membphis
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
您好,我刚刚试了下,发现还是不行,我把上面的ngx.sleep(0.001)换成了coroutine.yield()还是会出现阻塞的情况,不可以的接受其他请求的
订阅: 请发空白邮件到 openresty+subscribe@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+unsubscribe@googlegroups.com
好的,我上次想在openresty的源码中添加一个ngx.yield方法,里面用lua的c API去进行yield操作,但是还是不起作用,你代码提交后,还请给个地址,告知一下,我学习一波。谢了
请尝试:https://github.com/openresty/lua-nginx-module/pull/1052这个 patch 打过以后 ngx.sleep(0) 会保证事件循环不会被 block。注意这个 patch 需要跟 https://github.com/openresty/openresty/pull/252 一起使用,否则会有编译错误。
2017-04-23 20:29 GMT-07:00 cheng ye <iihe...@gmail.com>:
好的,我上次想在openresty的源码中添加一个ngx.yield方法,里面用lua的c API去进行yield操作,但是还是不起作用,你代码提交后,还请给个地址,告知一下,我学习一波。谢了
--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com