問題タブ [rainbows]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 104: ピアによる接続のリセット: nginx + rainbows + 1 MB を超えるアップロード
ThreadPool レインボー + nginx (unix ソケット) を実行しています
大きなファイルのアップロードで、nginx エラー ログに次のメッセージが表示されます (アプリケーション ログには何もありません)。
ブラウザーは応答を受け取ります。
なぜこれが起こるのですか?
- "client_max_body_size 80M;" nginxのhttpとサーバーレベルの両方で(念のため)設定されています
- nginx は、unix ソケット (アップストリーム ソケット + ロケーション @ proxy_pass) を介してレインボーと通信します。
- 他のログには何も表示されません。確認しました:
- レインボーログ
- 職長ログ
- アプリケーションログ
- dmesg および /var/log/messages
- これは、ファイルをアップロードするときに発生します ~> 1 MB サイズ
ruby - レインボーワーカーは、返信したにもかかわらず、タイムアウト後に殺されています
RainbowsでSinatraアプリを実行しています。私は以下を記録します:
と
そして私のログで私は読むことができます:
私の労働者(pid 25988)は、最初の要求に応答しなかったかのように殺されています...しかし、明らかにそうです!それは別のリクエストも処理しました(そして私は基本同時実行モデルを使用します->同時実行なし)
私のRainbows構成は次のとおりです。
何が起こるかについて何か考えがありますか?または、どうすればさらに調査できますか?ありがとう !
ruby-on-rails - unicorn + mysql2 gemがマルチワーカーprodセットアップでモデルデータの最新バージョンを表示しないのはなぜですか?
モデルが正しく更新されていないようです。
- ユニコーンレインボー!EventMachineで
- mysql2 gem
production
8人で1000rpmの環境で再現できます。my_model
Railsコンソールで(を呼び出して)更新するとreload!
、すべて正常に動作します。現地では再現できません。
コントローラから:
ログ:
何が間違っていますか?よろしくお願いします!
ruby-on-rails-3 - API バックエンド用のアプリケーション サーバーの選択
アプリケーション サーバーには非常に多くの選択肢 (Passenger、Thin、Unicorn、Mongrel、Puma、Rainbows!) があるため、次のシナリオにはどれが適しているのか疑問に思っています。
Rails は純粋に API バックエンドに使用されます (すべてのアセットは Nginx で提供されます)。一部の API 呼び出しは他の API サービスに依存しているため、完了するまでに時間がかかる場合があります。
レスポンシブ アプリはモバイル、タブレット、およびデスクトップ クライアントで使用されるため、クライアントの接続については保証されません。
この場合、どのアプリケーションサーバーが適切だと思いますか? 選択する際に考慮すべきことは何ですか?
ruby-on-rails-3 - Private_pub および rainbows 構成での構成の問題
このような虹でprivate_pubを構成しました
虹.conf:
private_pub.ru:
これを使用してサーバーを実行します:
ページがサブスクリプションで読み込まれるたびに、このエラーが発生し、サブスクリプションが失敗します。
ページがブラウザにロードされたときのサーバー エラー ログ:
ブラウザ コンソール エラー ログオン:
ruby-on-rails - Rails 4 - ライブ、更新後も接続が継続
Rails 4 で Live メソッドを使用するアプリケーションを作成しました。しかし、それを使用すると、DB への最大接続数に達するまで、更新ごとにもう 1 つの接続を取得し続け、ハングして永久にロードされます。
ユーザーがサイトを更新したとき、またはサイトを離れることを決定したときに、接続がダウンしていることを確認するにはどうすればよいですか?
これは私のセットアップです:
Nginx と Rainbows を使用しています。Ubuntu 10.04 で。Ruby 2.0.0-p195 Postgresql Rails 4
asynchronous - Sinatra でのファイバーと複数の http リクエスト
eventmachine でファイバー モデルを使用して外部 API を呼び出すときに何が起こっているのか理解できません。私はSinatraにこのコードを持っています:
また、2 つの接続を持つコネクタを使用して Rainbows サーバーを起動してい:EventMachine
ます (つまり、一度に 2 つの HTTP 要求を処理する 2 つのファイバーを意味します)。
ここで、4 つの同時要求を行った場合、アプリは最初に 2 つを管理する必要があり、外部 API 呼び出しが行われている場合、これらのファイバーは、外部呼び出しが完了するのを待っている間に 2 つの新しい http 要求を管理できるはずですよね?
これは起こっていません。slowapi 呼び出しが返されてファイバーが解放されるまで、新しい http 要求は受け入れられません。
これは正しい動作ですか?何か不足していますか?ありがとう。