キューアイテムの並列処理にScalaでAkkaアクターを使用しています。10個の再利用可能な子ProcessorActorsを持つMasterActorがあります。
処理されるアイテムは、赤、青、緑のアイテムなど、さまざまなタイプにすることができます。ある時点では、特定のタイプの単一のアイテムのみを処理できます。したがって、1つの赤のアイテムが処理されている場合、それ以上の赤を同時に処理することはできません。
すべて問題ありませんが、アプリに適切なフォールトトレランスを実装しようとすると、終了メッセージで失敗したアイテムタイプに関する情報をあまり取得できません。ProcessorActorが失敗した場合、MasterActorで適切なタイプを処理可能としてマークする必要があります。失敗したアイテムタイプを取得できないため、今は行き詰まっています。終了メッセージにActorRefがありますが、そのメッセージを受け取った直後にActorRefにメッセージを送信するのはよくありません。
結局、私は「処理中」とマークされたすべての可能なタイプを残すことができますが、実際にはそれらの適切なアクターが死んでいるだけです。
ご意見をお聞かせください。