問題タブ [psgi]
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.
apache - 既存の Mojolicious アプリへの新しいコードのリリースによる断続的なエラー
既存の Mojolicous アプリに問題があります。いくつかの新しいルート、ビュー、コントローラー、およびモデルを追加し、Rose::DB::Object ORM を使用してビューにデータベースの結果を返しています。
本日、Morbo でうまく機能していたコードを使用して製品版を更新しました。しかし、apache2/plack/psgi mod_perl config では、新しいモデルは 5 回に 1 回、場合によっては 10 回に 1 回のクエリしか返しません。
データベースに直接クエリを実行して結果を問題なく取得できるように、多くの変数を排除しました。古いモデルとそのクエリは常に機能します。
この新しい機能だけが断続的であるようです。リクエストを 1 つのサーバーのみに絞り込み、Apache を再起動しました。しかし、なぜ問題が解決しないのか理解できません。
これはある種の mod_perl の不安定な動作だと思いますが、Apache を再起動しても修正されない理由がわかりません。
どんな助けやアイデアも素晴らしいでしょう。
perl - 多くの同時接続を使用して PSGI アプリケーションをサーバー化する方法
多くの同時接続で PSGI アプリケーションをどのように処理できますか? イベントベースの事前分岐 Web サーバーを試してみましたが、同時接続数はワーカー プロセスの数によって制限されているようです。たとえば、Node.js は数千の並列接続に拡張できると聞きましたが、Perl で同様のことを実現できますか?
これは、接続を無限に開いたままにするサンプル アプリケーションです。重要なのは、接続を無限にすることではなく、接続制限に達するまで接続を開いたままにしておくことです。
apache - Apache/Starman - 単一の仮想ホストで多数の異なる Web アプリケーションを実装する方法
フレームワークに基づいて、複雑な強化されたインターフェイスと対応する perl バックエンドを備えたCGI
Web アプリケーションが多数あります。apache2
jQueryUI
CGI::Application
ユーザーの場合、次のようになります。
- //localsrv.lan/some_report_xls
- //localsrv.lan/some_insert_db
- //localsrv.lan/some_perl_plsql_stuff など...
psgi
今、私はそれらのアプリを簡単に変えたいと思っています。Apache->ProxyPass/Starman
- すべてのアプリに多くのポートを使用して、すべてのアプリに対して Starman を実行する必要がありますか?
- どうにかしてマッピングURLを使用する必要が
Plack::App::URLMap
ありますか? - 何百ものアプリの中から 1 つのアプリを作成して、Starman で実行する必要がありますか?
- それを行う別の方法はありますか?
perl - http://0:port について間違っているのは誰ですか?
Plack スイートは一般的にhttp://0:port
. たとえば、次の
版画
ただし、LWP::UserAgent
(またはより深く呼び出されたモジュール)はそれを受け入れませんでした。
プリント:
しかし
版画
問題は、誰が間違っているかです。
- 有効か、たとえば LWPが
http://0:port
「間違っている」か - それとも有効ではなく、PSGI はそれを「ランダムに有効な」ショートカットとしてのみ使用しますか?
perl - Plack でバッファリングされていない応答を送信する
大規模な CSV 応答を作成する Perl モジュールのセクションで作業しています。サーバーは Plack で実行されますが、これについては私は専門家ではありません。
現在、私は次のようなものを使用して応答を送信しています:
ただし、そのquery_data
関数は高速ではなく、多くのレコードを取得します。そこでは、各行を連結し$body
、すべての行が処理された後、応答全体を送信しています。
私がこれを好まない理由は 2 つあります。1 つ目は、$body
が破棄されるまで大量の RAM を消費することです。第 2 に、そのメソッドが動作を終了し、実際に$res->body($body)
.
必要なものを見つけずに、ドキュメントでこれに対する答えを見つけようとしました。
また$res->body($row_object->to_csv)
、コールバック セクションを呼び出してみましたが、最後に行った呼び出しのみを送信し$res->body
、以前の呼び出しをすべて上書きしてしまうようです。
各行のコンテンツをフラッシュするPlack応答を送信する方法はありますか?そのため、ユーザーはデータが収集されるとリアルタイムでコンテンツを受信し始め、最初にすべてのデータを蓄積する必要はありませんか?
コメントをお寄せいただきありがとうございます。
nginx - uWSGI で Perl Dancer 環境を設定する方法 (nginx で使用)
本番環境で Perl Dancer アプリを起動しようとしています。
次のように uWSGI を呼び出しています。
アプリが読み込まれて実行される間、環境がまったく設定されないため (デフォルトの開発環境でさえも)、エラーが発生します。
これらは機能していないようです:
参考までに、これはplackupとstarmanを使用して機能します:
http://uwsgi-docs.readthedocs.org/en/latest/Options.htmlを読みまし たが、Python のような Dancer 固有の環境設定はないようです。
考え?事前にthx!