Skip to content

再起動しても、実行結果を置き去りにしない

チャットから長い処理を始めると、利用者は同じ場所に結果が返ると思います。処理中に実行環境が再起動すると、裏では終わっていても返信だけ消えることがありました。

起きていたこと

運用記録には、実行役が途中で消え、結果、再配信用の記録、診断ログのどれも残らなかったケースがありました。利用者から見ると、待ち続けるべきか、もう一度実行すべきか判断できません。

処理を再実行するだけでは、二重実行になる可能性があります。まず結果を失わず、届けられなかった状態を区別する必要がありました。

変更

開発チームは、処理結果をいったん永続化してからチャットへ届ける順番に変えました。再起動後は未配信の結果を拾い直します。配信に失敗した結果は削除せず、保留のまま残します。

あわせて、途中経過を同じメッセージへ更新し、実行役が終了した理由と最後のエラーを診断記録へ残すようにしました。

確認できたこと

通常完了、再起動後の再配信、配信失敗、実行役の異常終了をテストしました。運用中の中断記録を起点にした変更が、複数回のレビューとマージを経たことも確認しています。

本番反映の有無は、この記録では確認できません。

VibeProの寄与

VibeProの工程は、チャット画面の使いやすさだけで終わらせず、結果の保存、配信状態、再起動、診断情報までを一つのStoryへまとめました。再起動後に何を正本として再開するかを、実装とテストで追える状態にしたことが寄与です。

まだ言えないこと

配信成功率がどれだけ上がったか、利用者の待ち時間や再実行がどれだけ減ったかは計測していません。売上、顧客満足度、工数削減、不具合削減率への影響も未確認です。

事例一覧へ戻る

Apache-2.0 · docs source eb98d425e4b1