タグ

ブックマーク / unageanu.hatenablog.com (1)

  • キャッシュしたデータが消える!?prefork型HTTPサーバーUnicornでドはまりしたメモ - うなの日記

    HTTPサーバーUnicornを使っていてドはまりしたのでメモ。 主に、Unicornで動かすRackアプリでの変数スコープとpreload_appについて。 サマリ Uncornは、RackアプリケーションのためのHTTPサーバーです。 HTTPリクエストを、メインプロセスからforkした子プロセスで処理するアーキテクチャが特徴。 スレッドとかは使いません。 forkした子プロセスは、それぞれ別のメモリ空間を持つので、 HTTPリクエストの処理間で、状態(変数の値)が共有されません。 ある処理で変数の値を変更しても、別の子プロセスで処理しているHTTPリクエストでは変数値は変わりません。 ただし、子プロセスが同じ場合は、状態が引き継がれます。(処理が終わった子プロセスは、次のHTTPリクエストで使いまわされます) 状態が共有されないので、スレッドセーフティを考慮した実装にする必要もありま

    キャッシュしたデータが消える!?prefork型HTTPサーバーUnicornでドはまりしたメモ - うなの日記
  • 1