AWS SWF に適していると思われる一連のビジネスプロセスがあります。
これらのプロセスのいくつかには、1 週間から 3 か月の待機期間が含まれます。(簡潔で十分に説明されていない) 例は、「ユーザーが特定のサービスにサインアップした場合、4 か月後もまだ購読している場合は、何らかの形の報酬を送信する」という行に沿っている可能性があります。
サインアップ プロセスをワークフローから開始し、4 か月の待機期間のタイマーを設定することで、これをモデル化することを考えています。
サブスクライバーがその 4 か月の期間内にサブスクリプションをキャンセルした場合、報酬を送信したくないという事実に問題があります。
これを行うには 2 つの方法があります。キャンセル時に「キャンセル」シグナルを送信する (「スリープ」ワークフローを停止する) か、「報酬を送信する」ステップの前に (つまり、ワークフローの後) 「サブスクリプションを確認する」決定を行うかです。目覚める")。(明らかに、「ベルトとブレース」アプローチの場合、両方を行うこともできます)
ここで推奨されるベスト プラクティスはありますか? これらのさまざまなビジネス プロセスが、一度に数万、アクティブまたはスリープ状態になる可能性があります。