
最後の
1
つの見直し
Web
アプリケーションは堅牢になったのか?
次は
11
章の冒頭に示した
4
つの疑問です。
1
データベース接続に失敗したら?
2
Web
アプリケーションは攻撃から守られている?
3
長い時間がかかったら?
4
関数呼び出しが失敗したら?
現在、この
Web
アプリケーションは、多くの実行時例外を処理しています。
raise
し
て捕捉できるカスタム例外と
try/except
を使うためです。
実行時に何か問題が生じる可能性があるときには、起こりそうな例外からコードを保
護します。すると、アプリケーションの全体的な堅牢性が改善します。これはよいこと
です。
他の部分でも堅牢性を改善できます。
UseDatabase
コンテキストマネージャを
利用して、
view_the_log
に
try/except
句を追加しました。
UseDatabase
も
log_request
内で使うので、保護しておきましょう(この作業は読者の宿題としてお
きます)。
すぐにではなく最終的に実行するタスクはスレッドで処理したので、
Web
アプリケー
ションの反応は早くなりました。スレッドは優れていますが、使いすぎないようにしま
す。この章のスレッド化の例は
とても単純ですが、誰も理解できないようなコードに
なってしまい、デバッグしづらくなってしまうからです。スレッドを使う際は注意して
ください。
「長い時間がかかったら?」の解決策として、スレッドを使うとデータベースの書き込
みの性能は改善しますが、読み込みは改善しません。
Web
アプリケーションはデータが ...