問題タブ [thin]

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.

0 投票する
2 に答える
7295 参照

ruby-on-rails-3 - Mac の開発モードはシンかユニコーンか?

この質問がまだ出されていないことにショックを受けましたが、私はあらゆる場所を調べたことを誓います。Rails 3 を開発モードで実行する場合、ユニコーンよりもシンの方が優れている点、またはその逆の点はありますか?

0 投票する
2 に答える
1629 参照

ruby - EventMachine UNIX ソケット接続: Thin running as a service でそれらを使用するにはどうすればよいですか?

EventMachine.connect_unix_domainThin as a service (init スクリプト (抜粋) と以下の構成を使用) を実行しているときに使用するにはどうすればよいですか。直下のコードが問題です (eventmachine not initialized: evma_connect_to_unix_serverエラーが発生します)。2 番目のコード例は機能しますが、シンをデーモン化することはできません (私は思いません)。Thin には EventMachine の実行中のインスタンスがまだありませんか?

更新: 奇妙なことに、(でservice thin stop) サーバーを停止すると、config.ru ファイルに入り、アプリを実行するようです (したがって、stopコマンドがタイムアウトしてプロセスを強制終了するまで機能します)。この動作を引き起こしている可能性のある薄い停止が発生するとどうなりますか?

問題のあるコード

作業コード

初期化スクリプトの抜粋

シン構成

0 投票する
1 に答える
1568 参照

oracle - ソケット例外:Oracleシンドライバーでrecvが失敗しました

テストスイートがソケット例外でランダムに失敗するという問題に直面しています

特定のテストケースのセットが特定の順序で実行されると、テストスイートはこの例外で失敗します。oracle jdbcドライバーログを有効にした後、上記のエラーログを取得しました。このエラーの原因となるクエリは、常に「DROPSEQUENCEクエリ」です。このクエリは実行フロー中に「n」回実行されるため、特別なことは何もありません。

ブログリンクの1つは、上記のエラーは、クライアントが予期する前にサーバー側のソケットが閉じられたためであると指摘しています。この点についてさらにトラブルシューティングするために、Oracle TNSListenerログ(listener.logファイル)を分析しようとしましたが、ログファイルにはソケットCONNECT関数呼び出しに関する情報しか含まれていないため、多くの情報を収集できませんでした。

  1. ブログのリンクに記載されているものに加えて、上記のエラーの考えられる原因は何でしょうか?

  2. ソケット通信に関するより詳細な情報を提供するようにOracleTNSListenerを構成するにはどうすればよいですか?たとえば、サーバーソケットのクローズイベントが発生したときのトレース情報。

誰かがこのエラーの考えられる原因を指摘したり、上記の2つのポイントに基づいてこの問題をさらにトラブルシューティングするのに役立つ情報を提供していただければ幸いです。

0 投票する
1 に答える
969 参照

heroku - heroku、シンラック 1.1.0、gemfile にはラック 1.0.1 が必要

私のrorアプリはレール2.3.5(ラック1.0.1が必要)で実行され、herokuのシンはデフォルトでラック1.1.0をアクティブにします

そしてエラーをスローします:

bundler をインストールして Gemfile.lock を開発しました:

herokuにデプロイするのを手伝ってください......

0 投票する
3 に答える
4886 参照

ruby - Sinatra セッションが期待どおりに持続しない

Sinatra でリダイレクトとセッションを使用して、サイト内でデータをやり取りしようとしています。デバッグに PrettyPrint を使用した簡単な例を次に示します。

Thin の出力を見ると、次のようになります。

私がドキュメントで見たものはすべて、これがうまくいくことを示唆しています。実際、/redir直接要求しても、 のセッション データを取得することはありません。その後の の要求では、期待どおりにセッションが持続します/

考え?

0 投票する
3 に答える
679 参照

ruby-on-rails - 「rails server thin」を実行しているときに冗長性を減らす方法はありますか? ロガーのデバッグ メッセージのみを表示したい

「rails server thin」を実行しているときに見られる粗雑さの量を減らす方法はありますか? 現在、すべての SQL 呼び出しとキャッシュ呼び出しが表示されていますが、デバッグ/ロガー メッセージに注目したいだけです。

0 投票する
4 に答える
3470 参照

ruby - シン コンソール ウィンドウでデバッグ コードを表示する方法

Mongrel では、すべての Ruby デバッグ コードを確認できます。薄くしてから取り付けthin startます。コンソール ウィンドウにデバッグ コードが表示されません。

これは正常ですか?

tail -f log/development.logデバッグ コードを表示するには、新しいコンソール ウィンドウで使用する必要がありますか?

0 投票する
3 に答える
2297 参照

ruby-on-rails - シン サーバー プロセスが 100% の CPU でハングし、正規表現ループのように見えます。デバッグするための詳細情報はどこで入手できますか?

これを生成するgdbバックトレースがあります:

これから推測できること:

  • のようなもので実行される正規表現にぶら下がって52%%20off|utmcmd=email|utmctr=View%20this|utmcct=52%%20offいます。これは、クエリ文字列のろくでなしの形式のようです (アンパサンドではなくパイプである理由についての洞察はありますか?)。ただし、彼らが探している正規表現が何であるかはわかりません (何か見つける方法はありますか?)。
  • #42でを初期化しているように見えるため、シン/イベントマシンを正常にレールスタックにうまく通過していますevent_callback_wrapper。これは、ラックの次のステップに渡すことを意味します。

そして奇妙なこと:

  • netstat未処理の接続はリストされず、nginxログには、バックトレースに表示される文字列によって暗示されるクエリ文字列を使用して、成功、失敗、または放棄されたリクエストが表示されません。

私が試した他のこと:

私はちょうど gdb に入り、何度も次を試してみました。私もhijackを使ってみましたが、何か役に立つものは見つかりませんでした。

方法がわからない、または可能かどうかわからない、役立つ可能性のあるもの:

  • 実際の Ruby コード スタックを取得します。
  • 何が正規表現を呼んでいるのかを理解してください。
  • 正規表現が実際に何であるか、およびそれが何と照合されているかを突き止めます。

他のアドバイスやその他のことは大歓迎です。

0 投票する
2 に答える
893 参照

ruby-on-rails - Thin and Rails 3.0 の使用中にターミナル ウィンドウにアプリケーション リクエストを表示する方法

開発で WEBrick の代わりに Thin を使い始めました (Rails バージョン 3.0.9)

WEBbrick を使用すると、サーバーの実行中にすべての要求 (およびデータベースへの呼び出し) がターミナル ウィンドウに表示されます。

薄いとどうやってそれを得るのですか?thin start私が見る唯一の出力を行うとき:

ありがとう!

0 投票する
2 に答える
2279 参照

ruby - Rubyの高負荷RESTfulAPI(同期/非同期実装)

JSON応答を返し、非常に高い負荷を維持する必要があるRESTfulAPIの実装に苦労しています。最も高い負荷はAPIの「読み取り」部分によって生成され、APIの「書き込み」部分によって生成される負荷はごくわずかです。私の最初の試みは、nodejsを使用してAPI全体を作成することでした。私はほとんどそれをしましたが、APIはより大きなシステムの一部であるため、javascriptとrubyの間でモデルとロジックの非常に高い重複に直面しました。すべてのロジックをバックエンド(mySql)に移動しようとしましたが、そのアイデアはさらに醜いものになりました。2番目の試みは、システムのすべての部分でモデル/ロジックとテストを共有するために、RubyエコシステムでAPIを作成することです。

CrampとGoliathを単独で使用してみましたが、非同期のものはすべてAPIの実装を非常に複雑にしました。2つの読み取りURLを非同期にする必要があるのは、それらが最大の負荷を生成し、ずっと非同期にすることで、残りのAPIを非同期で実装することを余儀なくされたためです。

私の現在の試みはハイブリッドになることです:Thin / Sinatra/Crampカクテルを使用してください。私はRubyコードでシンラックハンドルをインスタンス化し、ラックビルダーを使用して、同期実装を行っているSinatraと2つのURLを非同期で実装しているCrampの間でAPIを分割しています。

これは良い方法ですか?または、SinatraとCrampを1つのWebサーバー(Thin)に含めると、何らかの理由でさらに問題が発生しますか?

更新: 私は、ラック/ファイバー_プールとem_mysql2を組み合わせた唯一のSinatraを使用したソリューションを試しています。APIを同期実装と非同期にするという2つの目標を達成しているようです。しかし、私はバグに苦しんでおり、すぐに修正されると思います。

このように行く落とし穴はありましたか?