2016-09-26 3 views
3

データベースでクエリを実行するために、サーバー送信イベントを使用しています。サーバは、statsイベントでリアルタイムで統計情報をストリーミングし、クエリが実行されると、データとともにresultイベントを送信し、接続を閉じます。サーバー送信イベントのデータ制限

あなたはこのcurlコマンドでそれをテストすることができます。

curl 'http://rakam-production-webapp-203653584.us-east-1.aws.getrakam.com/query/execute?read_key=l2drg09t1j04poki16q46nsa7qvjdjhsedcml0e9m8sd87h6olkevq8b7m3m6948&data=%7B%22query%22%3A%22SELECT%20*%20FROM%20collection.%5C%22pull_request%5C%22%22%2C%22limit%22%3A1000%7D' -H 'Accept: text/event-stream' 

問題は、そのデータは数キロバイト以上であるである、のEventSourceはresultイベントをトリガしません。

http://jsbin.com/jiteca/edit?html,output

データはそれほど大きくない場合は正常に動作します:

http://jsbin.com/leginu/edit?html,output

私はクロム、SafariとFirefoxのを試してみましたが、それらのすべてが、この問題に苦しんでいます。どのようにこの問題を解決するための任意のアイデアですか? server-sent specification on W3で何も見つからなかったので、これはサーバー送信のイベントの制限ですか?

答えて

1

私はほとんどあなたの問題がサーバー側であることは確かですが、ブラウザやSSEの実装には問題ありません。私はあなたのcurlコマンドをテストする際には、この時点で突然終了します。

...null,null,null],["2016-08-30T14:08:03Z","MichMich", 

(各実行で少し異なる。)

ちょうどJSON misformattedない

、ないダブルLF。私の推測では、Webサーバーのプロセスがクラッシュしたか、バックエンドスクリプトがクラッシュしています。ログを見てみましょうか?または、クラッシュでない場合、バッファがいっぱいになりました。 (メッセージは313,000バイトを超えているように見えます。

サーバー側の言語やWebサーバーには何もタグを付けていません。それ以上のことは想像もしません。

+0

私のアプリケーションが完全なデータを送信していないとは考えていませんでした。指摘してくれてありがとう! –

関連する問題