1

ユーザーのリストを持つコンポーネントがある状況があります。各ユーザーにメールを送信し、ユーザーのレコードを更新して、メールが送信された時刻を示す必要があります。

これは、Akka の最初の使用例として適しているようです。ユーザーのリストを取得するコンポーネントはアクターであり、マルチスレッド化できる送信メール送信アクターごとに個別のアクターが作成されると考えていました。電子メールを送信するアクターは、ユーザー レコードの日付を更新する責任があります。

電子メール送信アクタが失敗した場合、ユーザーの記録は完了せず、監督アクタはそれを再スケジュールできます。

それは正しいモデルですか?それとも、スーパーバイザーがユーザー レコードの更新を担当する必要がありますか?

それとも、これは完全に Akka の不適切な使用例ですか?

ところで、SMTP または Web サービス経由でメールを送信できました。議論にはそれほど重要ではないと思いますが、言及したいと思いました。

4

1 に答える 1

2

IOが関係している場合、トランザクション性にこだわる必要はないと思います。電子メールが読まれる、受信される、適切な人に受信される、一定期間内に受信される、理解されるなどの保証はありません。

メールを送信して、データベースを更新するだけです。ハッピーハッキング!

于 2012-06-07T21:45:54.117 に答える