問題タブ [event-stream]

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 に答える
629 参照

perl - Perl Mojolicious + PgAsync プラグイン -- データベース接続のリーク?

Postgresデータベースから発行されているイベントをリッスンするために、pgAsyncというプラグインでMojoliciousを使用しています。私が現在持っているコードは正常に動作していますが、データベース接続の数は増え続けています。NOTIFY

バックエンド

ご覧のとおり、これを希望どおりに機能させるには、ちょっとしたハッカーを行う必要がありました。 pg_listen呼び出しのたびにコールバックを未定義にしているように見えました。pg_listenこれは、再度呼び出したときにエラーを引き起こしていました(未定義だったため)。これに対するチェックを追加するために、PgAsync::Db.pmの 34 行目を変更する必要がありました。

->to->


フロントエンド

Mojolicious スクリプトからのプッシュ通知をリッスンするために、 EventSourceオブジェクトで JavaScript を使用しています。


問題

よく見ると、このシステムは、より多くのデータベース接続を継続的に作成しているようです。

  1. 何もないところから始めて、1 つのデータベース接続があります。select count(*) from pg_stat_activity;

  2. morbo と Mojolicious スクリプトを で開始しDEBUG_PG=1 morbo mojopush.plます。現在、2 つのデータベース接続があります (1 つ目は psql の me で、2 つ目は morbo です)。

  3. EventSource オブジェクトを含む Web ページを開きます。GETcontent-type でリクエストを正しく設定text/event-streamし、接続を開いたままにします。現在、3 つのデータベース接続があります

  4. psql に入って sendを実行NOTIFY foo, 'test'すると、Mojo スクリプトがそれを検出し、Web ページに「test. まだ 3 つの db 接続があります。

  5. ページを更新すると、現在 4 つのデータベース接続があります。300 秒の非アクティブ タイムアウトを待つと、さらに別のデータベース接続が作成され、5 つの接続が発生します。

誰かが私を正しい方向に向けるのを助けることができれば、それは非常にありがたいです!

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

javascript - Node.js event-stream:MaxListeners を設定する場所は?

私はこれを検索して検索しましたが、役に立ちませんでした。私はWeb(Stackoverflowを含む)とNodeのドキュメントを調べて答えを探しましたが、うまくいったものは見つかりませんでした(私の検索が悪いだけかもしれません)。私は gulp 構成ファイルでイベント ストリームを操作しています。また、EventEmitter クラスからの従来の「メモリ リークが検出されました」というエラーが発生している特定のタスクがあります。私が見つけたところによると、この問題に対処するための答えは、EventEmitter クラスの setMaxListeners メソッドを呼び出すことのようです。私の調査によると、イベントストリームには Stream オブジェクトがあり、これは EventEmitter のインスタンスである必要があります。ただし、どのように setMaxListeners を呼び出そうとしても、メソッドが見つかりません。この問題の調査に疲れ果てた後、私はそれをここの Node グルに持ち込むことにしました (I' これは単純だと思いますが、何かが足りないだけです)。これが私のコードです:

ありがとう!

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

javascript - event-stream.through と event-stream.map の違いは何ですか

event-streamのドキュメントによると、この 2 つの方法の違いは同期または非同期のようです。しかし、その違いが実際に何を意味するのかはまだわかりません。

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

java - Android アプリケーション (Java) で Rails SSE ストリーミング ページに接続するにはどうすればよいですか?

ActionController::Liveサーバーから送信されたイベント (HTML5 SSE、content-type data/event-stream) をストリーミングするために使用するバックエンドに Rails ルートを設定しています。理想的には、サーバーから送信されたイベントを処理するための Java ライブラリを使用して、Android フロントエンドでこのルートと直接やり取りしたいと考えています。ただし、SSE 用の Java バックエンド (J2EE) ライブラリ以外は見つからないようです。私の質問は 2 つあります: Java/Android SSE クライアント ライブラリは存在しますか?存在しない場合、SSE が最終的に抽象化するより単純な方法はありますか?別のタイプのライブラリまたは通常の Android ネットワークを使用できますか?

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

node.js - event-stream は nodejs で非 utf-8 エンコーディングをサポートしていますか?

次のように、ファイルを1行ずつアップロードして解析しようとしています。

しかし、残念ながら、utf-8 エンコーディングで 'line' 文字列を取得します。evented-stream 変更エンコーディングを防ぐことは可能ですか?

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

javascript - ノードjs eventemitterでイベントリスナーを適切に削除する方法

私は GET と POST ルートを設定しました。ルートへの POST がイベントをトリガーし、GET ルートは POST イベントがトリガーされるたびに起動するサーバー送信イベントストリームです...しかし、私はイベントストリームサブスクライバーが1つしかないにもかかわらず、イベントリスナーが定期的に追加されるように見えるので、何か間違ったことをしたと思います...何が間違っていますか?