
同時に複数のことを行う
log_request
関数は、メインの
Web
アプリケーションとは独立して実行させます。
そのために、
log_request
のそれぞれの呼び出しが同時に動作するように
Web
アプリ
ケーションのコードを修正します。つまり、
Web
アプリケーションが別のユーザからの
別のリクエストに応える前に
log_request
が完了するのを待たなくてもよくなると
いうことです(すなわち、遅延が解消されます)。
log_request
の実行が瞬時でも、数秒、数分、さらには数時間かかっても、
Web
ア
プリケーションにもユーザにも関係なくなります。コードが最終的に実行されることが
大切なのです。
並列コード:選択肢がある
Web
アプリケーションのコードを同時に実行するには、いくつかの選択肢があります。
Python
は多くのサードパーティモジュールだけでなく、標準ライブラリも同時に実行す
るための組み込み機能を
備えています。
最もよく知られているものの
1
つが
threading
ライブラリです。
threading
ラ
イブラリを使うには、コードの冒頭で
threading
モジュールから
Thread
クラスを
import
するだけです。
from threading import Thread
vsearch4web.py
ファイルの先頭付近に上の
1
行を追加してください。
これで楽しいことが始まります。
新たなスレッドを作成するには、
Thread
オブジェクトを作成し、キーワード引数
target
にこのスレッドで実行させ ...