sql >> データベース >  >> RDS >> PostgreSQL

リクエストがPG::Connection#async_execでスタックする

    データベースへの接続の再確立を開始した後、この問題は解決されました。 sequelを使用していました プロジェクトで、PassengerはActiveRecordが使用されている場合にのみ問題自体を処理します。

    それを拡張するために、デフォルトでは、Passengerはrubyアプリにスマートスポーンを使用します。最初に、フレームワークとすべてのライブラリをロードするプリローダープロセスを生成します。その後、プリローダープロセスは、必要に応じてワーカープロセスを生成し、リクエストを処理します。ワーカープロセスを生成する場合、すべてのファイル記述子はプリローダープロセスから継承されます。したがって、データベースへの接続を再確立しない場合、すべてのワーカープロセスは、プリローダーによって確立された1つを共有します。これはあらゆる種類の奇妙な行動につながります。リクエストに時間がかかりすぎるようです。

    その前に、WebSocket接続の処理も別のプロセスに移動しました。ただし、それが問題の原因であるかどうかはわかりません。

    詳細はこちら:

    コードプリロードでフォークWebサーバーを使用している場合は切断
    意図しないファイル記述子の共有
    サブURIの下で同じホストとポートでアクションケーブルサーバーを実行する




    1. Oracle-現在の日付をフォーマットして取得

    2. pgAdmin IIIクエリ結果が短縮されるのはなぜですか?

    3. ユーザー定義タイプがPostgreSQLにすでに存在するかどうかを確認します

    4. ネットワークインターフェイス名の長さはどれくらいですか?