質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

1001閲覧

Rails でコントローラーが処理中に他のリクエストがきた場合並列してリクエストをうけることはできますか?

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/10/31 11:21

編集2018/10/31 11:22

タイトルどおりなのですが
別質問で同等の内容を細かく質問したところ
やりたいことを丸投げした質問といわれてしまったので
できるかできないかの仕様を教えてほしいです

SSE? というのを使ってコントローラーを束縛してテストしてみたところ
どうも他のコントローラーが動いていないような気がしますがやはり同時にリクエストをうけるのは無理なのでしょうか

これまで Apache 上に直接CGIをおくぐらいしかさわったことがないんですが
普通に同時にリクエストを受け付けてくれた気がするのですが…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

結論から言えば、アプリケーションサーバ次第です。

本番サーバで使うようなアプロケーションサーバであるPuma、Unicorn、Passengerはいずれもマルチプロセスに対応していますので、複数プロセスが動くようにしておけばそれぞれがリクエストに応答していきます。

一方、Rails 4でローカルサーバに使われていたWebrickは一度に1リクエストにしか応答できませんので、リクエストの中から自分自身へさらにリクエストを投げるようなコードを書くとデッドロックします。

投稿2018/11/20 05:44

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/20 08:06

開発環境が Webrick なので無理だと思ってたのですが staging 以上は Unicorn なので複数プロセスを受けられたのですね ありがとうございます
guest

0

ベストアンサー

普通、どこからかの通信というのはバッファされますんで、処理のあとでそれが消失されるということは、(適切な処理をされる限りは)ありえないので、受けることはできます、と言う回答になりますねー

投稿2018/10/31 14:40

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/01 01:58

回答ありがとうございます リクエストが消失することはないけど 処理を行うのは1つずつということなんでしょうか
y_waiwai

2018/11/01 03:52

処理は一つづつですね。 全く同時に複数のリクエストを受信するということはありえないので、そこらへんは気にする必要はないかと
退会済みユーザー

退会済みユーザー

2018/11/01 03:54

回答ありがとうございました どちらかというと同時処理を実現したかったんですけどデフォルトでは無理なのですね…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問