待たせない
答えに要るものだけ待つ
予約ボタンを押したあと、裏では何段階かの処理が走ります。
在庫を確認し、予約を書き込み、確認メールを送り、集計を更新します。
このうち画面に返す答えに要るのは、最初の2つだけです。
メールの送信には400ミリ秒かかります。
待つと、予約の応答が50ミリ秒から450ミリ秒になります。9倍待たせて得られるのは、送れたという情報1つです。
しかも送信先が詰まっていれば、予約そのものが失敗したように見えます。
後回しは消すことではない
後回しにした処理は、やらないという意味ではありません。
答えを返したあとに、別の流れで必ず実行します。順番が変わるだけです。
Python
# その場でやる 在庫確認、予約書き込み 50ミリ秒
# あとでやる メール送信、集計更新 520ミリ秒気づく仕組みを作るまでが、後回しにする作業です。
失敗したものをどこに置くか、何回やり直すかを決めます。この章の残りは全部その話です。分けた時点では、まだ半分しか終わっていません。
演習
処理の一覧を受け取り、その場でやるものと後回しにするもの、それぞれの時間を出します。
要件
- needed_for_answer が True のものは sync へ、False のものは async へ name を入れる。並びは受け取った順
- response_ms は sync に入れたものの ms の合計
- deferred_ms は async に入れたものの ms の合計
ヒント
編集 ゆめさく編集部