Closed yuizho closed 2 years ago
https://github.com/yuizho/salon/issues/1#issuecomment-1107332442 で記述していた処理を実装した。
REFRESH_TABLE はその部屋のアクティブなユーザのステータスを CHOOSING に変える操作なので、他の操作と違って他のユーザの操作と競合する可能性がある。
REFRESH_TABLE
CHOOSING
ケアしないといけないのは、以下のケース
Transaction使ったり、BatchWriteで更新することを検討したが、結局REFRESH_TABLEの操作で LEAVED のステータスが更新されなければ良いので、UpdateItemで繰り返し実行する実装になった。
LEAVED
TransactionConflictException
実装にあたって書き残したメモ
overview
https://github.com/yuizho/salon/issues/1#issuecomment-1107332442 で記述していた処理を実装した。
REFRESH_TABLE
はその部屋のアクティブなユーザのステータスをCHOOSING
に変える操作なので、他の操作と違って他のユーザの操作と競合する可能性がある。ケアしないといけないのは、以下のケース
Transaction使ったり、BatchWriteで更新することを検討したが、結局REFRESH_TABLEの操作で
LEAVED
のステータスが更新されなければ良いので、UpdateItemで繰り返し実行する実装になった。TransactionConflictException
で失敗したりするようなのでやめたreference
実装にあたって書き残したメモ