タグ

springに関するymm1xのブックマーク (3)

  • rails/springコードリーディング

    rails/springのコードリーディングをしましたー。ということで備忘録。 概要 Springはサーバ、アプリケーション、クライアントに分かれて処理を行います。サーバはクライアントからの接続を受け取り、アプリケーションにコマンド処理を委譲します。アプリケーションはRailsアプリケーションを先に読み込んでおいて、クライアントのリクエストが来たときにコマンドを実行する、ということをやっています。 サーバ側 まずはサーバ側の spring server を叩いたときの動きをコードから追ってみます。bin/springではSpring::Client.runを実行しています。 require 'spring/client' Spring::Client.run(ARGV) Spring::Client.runはサブコマンドに応じたクラスをインスタンス化し、callメソッドを呼び出します。se

  • Spring の仕組み [Rails] – Site-Builder.wiki

    Spring の動作 Spring サーバーが起動する。 サーバーが起動したクライアントを受け付ける。 サーバーがクライアントからコマンドを受け取る。 (rails_console / rails_runner / rake など) アプリケーションマネージャーに問い合わせる。 環境毎の子プロセスが起動していなかったらプロセスを生成する。(Process.spawn) アプリケーションプロセス (子プロセス) がクライアントと接続する。 アプリケーションプロセスにアプリケーションをプリロードする。 (初回及び更新時のみ) ウォッチャーに監視するファイルを追加する。 ワーカープロセスをフォークする。 アプリケーションマネージャーにワーカーの PID が返される。 サーバーが実行しているメインスレッドでワーカーの終了を待つ。 (複数コマンドが並列に実行される。) クライアントにおけるコマンドの

  • Railsアプリケーション開発を完全にDocker化する

    Railsアプリケーション開発を完全にDocker化する Tweet Degica のすべてのサービスは Rails で開発しており、そのうちの一部は Docker を使用した番環境にデプロイしています。しかし開発者個人の開発環境にはいまだに Docker を導入できていません。最も大きな障害は spring を docker コンテナ内で上手く扱う方法が確立されていなかったことですが、この問題は docker-compose を工夫して利用することで解決可能であることがわかりました。 ということで、今回は rails アプリケーションの開発環境を完全に docker 化する方法を紹介します。 完全に、というところがポイントです。この方法を使えば docker 以外のツールを一切ホストマシンにインストールせずに rails アプリの開発を行うことができます。 (ちなみに、弊社の番環境は

    Railsアプリケーション開発を完全にDocker化する
  • 1