现在有一个场景:需要定时(30s)从redis里面拉取数据灌入lua cache共享内存。
我现在是用ngx.timer 这个API来实现的,请问这会不会有问题?因为对ngx.timer这个API不是很了解
看了文档说是:在后台开启了一个轻量级线程来执行,与原来的请求脱钩。
我这边的场景就是拉取灌入的操作不能阻塞worker。
1,请问这样能够满足需求吗?会不会有阻塞问题?
2,ngx.timer我现在是放在content_by_lua_file中的,需要访问接口才能启动,有没有可以开启worker的时候就启动timer的办法(我试了放在init_by_lua_file里面好像不生效。。。)
3 ,这个timer是每个worker里面都会有还是只有一个worker里面会有呢?(看文档貌似是只有一个worker里面会有,这也是我的需求)
谢谢:)