問題タブ [monix]
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 - Monix によるファンイン/ファンアウトの同時実行
私は Scala を学ぼうとしていて、楽しい時間を過ごしていますが、この古典的な問題に直面しています。NodeJS の初期のネストされたコールバック地獄の多くを思い出します。
疑似コードでの私のプログラムは次のとおりです。
- S3 バケットのリストを取得するタスク。
- タスク 1 が完了したら、バケットの処理を 10 個のグループにまとめたいと考えています。
- 各バッチについて:
- すべてのバケットのリージョンを取得します。
- リージョンにないバケットを除外します。
- 各バケット内のすべてのオブジェクトを一覧表示します。
- すべてを印刷する
ある時点で、次のタイプに行き着きます。Task[Iterator[Task[List[Bucket]]]]
基本的に:
外側のタスクは、すべての S3 バケットを一覧表示する最初のステップであり、内側の Iterator/Task/List は、リストを返すタスクをバッチ処理しようとしています。
に到達するために外側のタスクを削除/平坦化する方法があることを願っていIterator[Task[List[Bucket]]]
ます。
処理をステップに分解しようとすると、ネストが深いため、ネストされたマップが多数作成されます。これは正しいことですか、それともこのネスティングを処理するためのより良い方法はありますか?
mongodb - Mongo Collection を使用した Monix タスク: エラー処理
でMonixを使用しようとしてTask
いますmongo-scala-driver
。ちょっと理解に苦しむError Handling
エラーがない場合、これは完全に機能します。これにエラー処理を追加したい (たとえば、間違った名前を処理する) database
。collection
ドキュメントに基づく私の最初の試みは、次を試すことです:
しかし、これは私にio.Serializable
. ChangeStreamObservable[DomainModel]
ある種のきちんとしたエラー処理をしながら保持するにはどうすればよいですか? 私が研究できるパターンへのポインタに感謝します。
ブラジル
scala - レート制限を処理しながら HTTP リクエストを非同期に送信するにはどうすればよいですか?
免責事項: 私はsttpとMonixを初めて使用します。これは、これらのライブラリについて詳しく学ぼうとする私の試みです。私の目標は、HTTP GET 要求を介して特定の API からデータ (クライアント側) を取得することです -> JSON 応答を解析します -> この情報をデータベースに書き込みます。私の質問は最初の部分だけに関係します。私の目的は、レート制限を回避または処理する方法を持ちながら、get リクエストを非同期 (できれば高速) に実行することです。
以下は、私がすでに試したもののスニペットであり、単一のリクエストで機能するようです:
私の質問:
- コードを非同期で構成可能に保ちながら、Monix を使用して (単一のリクエストではなく) 複数の GET リクエストを操作するにはどうすればよいですか?
- APIサーバーによって課されたレート制限に達するのを回避または処理するにはどうすればよいですか
余談ですが、レート制限の目的をサポートする場合は、別のバックエンドを使用するという点でも柔軟です。