nginx
変数を更新するには、サーバー内に非同期スケジューラを作成する必要があります。これが何を意味するのか、なぜそれが必要なのか、例を挙げましょう。
次のような構成ファイルを想像してください。
http {
lua_shared_dict foo 5m;
server {
location /set {
content_by_lua '
local foo = ngx.shared.foo
ngx.say(foo:get("12345"))
';
}
}
}
共有メモリに存在する変数を指定foo
し、すべてのワーカー プロセスがそれにアクセスできるようにしました。私がやりたいことは、lua
毎分呼び出されるスクリプトからこれらの値を設定することです。参考までに、 に移動してRedis
必要なデータを取得し、この変数を更新します。すべての呼び出しでこれを実行できることはわかっていますcontent_by_lua
が、膨大な量のトラフィックに対しては非常に非効率的です。
1分ごとにトリガーされる別のプロセスと、1つのタスクを実行したいと思います。このようなものnginx
はありますか、それを助けるモジュールはありますか?