Home | Notifications | New Note | Local | Federated | Search | Logout
Masaki Hara@qnighy@qnmd.info
言語処理系いじりとロジックが好き 相方→@qnighy
※バニラのマストドンのため、カスタム絵文字スタンプを使えません。
Twitter: https://twitter.com/qnighy
io: https://misskey.io/@qnighy
Bluesky: https://bsky.app/profile/qnighy.bsky.social
Threads: https://www.threads.net/@qnighy
Joined: 2026-01-05 21:25:32
4 notes, 0 following, 0 followers
Masaki Hara@qnighy@qnmd.info (2026-01-05 22:06:17)
非同期処理のキューの場合結果整合性で済ますが前提なので絶対にトランザクショナルじゃないといけないわけではないが、メッセージ喪失の対策だけでも意外と大変なので最初からトランザクショナルにすればいいのに……という意図
Masaki Hara@qnighy@qnmd.info (2026-01-05 22:00:32)
もしイベントを外部のアクターに処理させたければ、まず変更と同じトランザクションで(同じデータベースに)キュー要素を積み、それをワーカーが取り出して外部用のメッセージキューに投げ直すといった方法は考えられる
Reply to @anqou@mstdn.anqou.net
Masaki Hara@qnighy@qnmd.info (2026-01-05 21:56:38)
@anqou ぼくの投稿は「同じデータベース内に」と書きました
Masaki Hara@qnighy@qnmd.info (2026-01-05 20:40:52)
「非同期ジョブのエンキューはコミット後にやりましょう」というやつ、コミット直後にアプリケーションプロセスがハングして状態が宙ぶらりんになるケースを考慮してないからあんまり好きじゃない。非同期ジョブのエンキューはトランザクション中に同じデータベースに入れるべき(?)