After_Forkで$ REDIS= REDIS.NEWではない場合はどうなりますか?
-
11-12-2019 - |
質問
Redis-RBはスレッドセーフなので、UnicornのAfter_Forkで$redis = Redis.new
を入れないという悪影響は何ですか?私が複数の労働者を持っていると仮定して。
環境.RBまたはintializerにコードの行を入れるのとは対照的に、
解決
after_fork
はスレッドの安全性とほとんど関係がありません。それは、親プロセスがスレッドを産むときには、子プロセスをフォークするときに使用されます。
なぜあなたは気にするべきです
あなたが決してフォークしないなら、あなたはおそらくそうではない。
フォークすると、親と子がファイルとソケット記述子(DB接続、Redis Connections)を処理します。子内のRedisへの接続を再開始しないと、親からのデータは子からのデータを使用してソケット上でインターリーブすることができます。
所属していません StackOverflow