異業種コラボ(飲食)「注文が消える夜:ラストオーダー0.3秒遅延事件」
異業種コラボ、今回は 飲食。
題材は「モバイルオーダー+キッチンディスプレイ+POS」全部入りの、だいたい現場が燃えるやつ。
登場人物(いつもの)
- テラ:現場統括。合言葉「撤退ルートは確保」
- キョウスケ:TDDの申し子。合言葉「ロールバック」
- ユウタ:つなげて試す担当(良くも悪くも)
- アヤ:空気の違和感検知(感覚が最強)
- 美桜:品質指標=笑顔/min
事件:ラストオーダー直前、注文が「消える」
学園がコラボしたカフェでの“実地研修”。ピーク帯、端末が鳴り続ける。
ユウタ「うわ、注文入った! ……え、厨房に出てない!」
テラ「落ち着いて。いまはピーク。まず“止血”を作る。撤退ルートは確保」
アヤ「空気、ズレた。店員さんの顔が固まった」
美桜「笑顔/minが落ちるやつ」
キョウスケ(ログを見る)「再現条件は?」
ユウタ「ラストオーダー直前にだけ起きる気がする!」
キョウスケ「“気がする”はログで潰す」
切り分け:注文は“どこまで進んで消えた”のか
テラ「飲食はフロー。状態で見る」
注文の状態遷移(ざっくり)
- カート作成
- 注文確定(決済 or 確定ボタン)
- キッチン発行(厨房へ)
- 調理中
- 提供済み
- 会計完了
- 取消(例外)
ユウタ「じゃあ俺、API叩く! つなげて試す!」
(ユウタがサッと POST /orders を再現。レスポンスを見せる)
ユウタ「200返ってる! 注文IDも出てる!」
キョウスケ「つまり“作れてる”のに“厨房に出てない”。中継か、キッチン側が弾いてる」
アヤ「落ちてない。動いてるのに、受け取ってない感じ」
美桜「一番イヤなやつ」
真犯人:ラストオーダーの閾値が“二重管理”
キョウスケ「ログの相関見た。落ちる注文に共通点がある」
テラ「共通点?」
キョウスケ「注文確定時刻が 21:59:59〜22:00:00 付近。境界だ」
ユウタ「秒!? たった1秒!?」
キョウスケ「たった1秒で現場は燃える」
テラ「じゃあLO判定が二重にある?」
キョウスケ「ある。しかも微妙にズレてる」
- モバイル側:
22:00:00までOK - キッチン側:
21:59:59までOK(1秒早い)
アヤ「空気がズレた原因、これだ。境界で“消える”のは一番怖い」
美桜「笑顔/minも境界で落ちる」
対応:今夜を救う“撤退ルート”
テラ「いま出来るのは二段構え」
1) 止血(今夜)
- モバイル側のLOを キッチン側に合わせて早める(安全側に倒す)
- LO直前は「混雑のため店頭注文に切替」の案内を出す(逃げ道)
