問題タブ [iterate]
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.
scala - Playframework 並列レンダリング
アクション内で複数のタスクを並行して処理し、タスクの結果を最初に完了した順序で、完了したらすぐにプッシュバックしたいと考えています。
たとえば、タスク A が 5 秒で完了し、タスク B が 3 秒で完了し、タスク C が 1 秒で完了した場合、出力は「C」、「B」、「A」になります。
次のコードは間違った順序で出力されているようで、すべてのタスクが完了するのを待ってから結果を出力します。
scala - Play 2.3 Websocket を使用したプライベート チャット アプリケーション
私は WebSockets (Play 2.3 with scala) を使用してチャット アプリケーションに取り組んでいます。メッセージは、着信メッセージに基づいて、すべてのユーザーまたは特定のユーザーのセットにブロードキャストする必要があります。1 人のユーザーが複数のグループ チャットに参加し、個人と同時にチャットすることができます。
はConcurrent.broadcast[JsValue]
タプルを返します(enumerator, channel)
。このチャネルにフィルターを適用する方法がわからないため、特定のクライアント グループのみがメッセージを取得します。
(enumerator &> Enumeratee.filter[JsValue] {...} ) のように列挙子にフィルターを適用できます。ただし、この列挙子を介してメッセージをプッシュすることはできません。
クライアント側でメッセージを解析したくありません。私のコードは次のようになります。
私がオンラインで見つけた例のほとんどは非推奨のメソッドを使用しており、そのうちのいくつかは Play 2.3 で削除されました (Enumerators.imperative など)。どのように機能するかわかりませんConcurrent.unicast
。
アクターを使用して同じことを行う別の方法があるかどうかを知りたいです。また、この設計はより高い負荷 (1000 人以上のユーザー) を処理できることも知りたいです。ありがとうございました。
scala - Iteratee はチャンク化されたデータを取得します (Scala)
カーソルによって db から取得される多くのデータ (例: 2 mln エントリ) を使用してIteratee.foreach
いますが、オブジェクトの配列を最適化して操作したいと考えています。たとえば 1000 個のドキュメントを読み取り、コードを実行するいくつかのチャンクを操作することは可能ですか。
playframework - Reactivemongo: Iteratee.fold 内で発生する例外を処理する方法
recitvemongo 列挙子が例外を正しく処理していないようです。以下のコードは列挙子 (reactivemongo ドライバーによって返される) を使用してリストを作成します。ここでの問題は、フォールド関数内で例外が発生すると、要求がハングし、ブラウザーが応答をまったく取得しないことです (ローダーが無限にスピンします)。
失敗した実行から回復することさえありません。
ここで何かが足りないのですか、それとも reactmongo 列挙子のバグですか?
playframework - Enumerator から EOF をドロップする方法
2 つの s を連結したいEnumerator
。問題は、最初に . がある場合は機能>>>
しandThen
ないことですEOF
。
を削除する必要があると思いますがEOF
、これをきれいに行う方法がわかりません。
これを行うための一般的で慣用的な方法があると思います。それは何ですか?
scala - なぜ iteratee よりも scalaz.stream が必要なのですか?
最近はscalaz.iterateeと Play のiterateeで遊んでいます。iteratee は、古い命令型 while ループの代わりにモジュール性を提供するための優れたアイデアだと思います。その目的は、ファイルから string[] を取得する代わりに、新しい行ごとに関数をハンドラーとして使用することです。
しかし、scalaz.stream の機能概要を見ると、その設計は古い iteratee 実装に取って代わるものであると述べられていますが、なぜそれを置き換えたいのかについては言及されていません。
ストリーミングできるかどうか、取得できる機能と利点、および iteratee を使用することの欠点について説明してもらえますか?