問題タブ [scotty]

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 投票する
1 に答える
253 参照

haskell - 大きなテキスト出力のために scotty がメモリを食い尽くすのを防ぐにはどうすればよいですか?

Scotty/WAI アプリケーションがあり、エンドポイントの 1 つが、Text要素のリストから構築された大量の出力を送信します。関連するコードは次のとおりです。

Scotty のドキュメントを理解しているので、メモリ内にテキスト/バイト文字列全体を構築する必要なく、出力を遅延構築してネットワーク経由で送信する必要があります。ただし、これは私が観察した動作ではありません。このエンドポイントを呼び出すと、サーバーはメモリを消費し始め、一度に送信する前に文字列全体を構築していると推測します。

何か不足していますか?

編集1

doStream結果のBSのチャンクを1つずつ送信することになっている関数を作成しました。

しかし実際には、出力全体をメモリに構築します...

編集2

実際、この方法でのストリーミングは問題なく動作します。ただし、サーバー プロセスは依然として大量のメモリを消費します。これは実際には、各チャンクを送信する際にガベージ コレクション可能になる可能性があります。メモリ使用量をより深く分析して、この消費がどこから来ているかを確認します。

編集3

ヒープを 2GB に制限しようとしましたが、これによりプロセスがクラッシュします。変換プロセス全体で一部のメモリが保持されます...

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

haskell - Openshift で Haskell (スタンドアロン、yesod、snap...) をデプロイすると失敗する

Haskell カートリッジに基づいてアプリケーションを作成しようとすると、次のようなエラーが発生します。

The initial build for the application failed: Shell command '/sbin/runuser -s /bin/sh 55c67c940c1e6694ac000017 -c "exec /usr/bin/runcon 'unconfined_u:system_r:openshift_t:s0:c5,c753' /bin/sh -c \"gear postreceive --init >> /tmp/initial-build.log 2>&1\""' returned an error. rc=137 .Last 10 kB of build output: The server is not running, nothing to stop. Repairing links for 1 deployments Building git ref 'master', commit 6b8beb4 Downloading the latest package list from hackage.haskell.org

これは、Snap、Yesod、Scotty などの Openshift ハブの定義済みカートリッジ、および wiki ( https://wiki.haskell.org/Web/Cloud ) で定義されたカートリッジで発生します。

アプリケーションが作成されないため、ログを確認できず、エラー メッセージから多くを得ることができないため、助けを求めています。Haskell 以外のカートリッジ タイプを試してみましたが、問題なく作成されました。

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

haskell - scotty で warp の代わりに warp-tls を使用するには?

通常の warp サーバーではなく warp-tls を使用して scotty アプリケーションを起動する必要がありますが、実行中の warp は scotty のソース コードに組み込まれているようです。明らかな何かが欠けていますか?

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

haskell - Warp アプリケーションの settingsFork の適切な値を決定する要因はどれですか?

Warpアプリケーションでは、このオプションsettingsFork設定データ型で利用できます。これにより、別のフォーク モデルを選択できます。void . forkIOWithUnmaskこれをデフォルト ( )以外に設定する必要があるのはいつですか? この決定を行う際に考慮すべき要因はどれですか? (IO vs CPU バウンド/FFI の使用など)。

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

html - Scotty + Html -> それらを絡み合わせるには?

Scotty で html テンプレートを含むhtmlページを操作するにはどうすればよいですか? ただし、Haskell コードでその構造を記述するのは好きではないため、Blaze 経由ではありません。それは私が盗むべきだと思っていますが、スコッティとどのように絡み合わせるのですか?