uwsgi(2プロセス)の背後で実行されているFlaskWebアプリを実行しています。私のコードの一部には、リモートリソースへのping、変更されているかどうかの確認(If-Modified-Since
)、および変更されている場合はWebサーバー上のそのリソースのローカルコピーの更新が含まれます。
この更新により、差分の電子メールも送信されます。これには時間がかかり、メールの送信中にユーザーリクエストがタイムアウトするのではないかと心配しています。
Pythonスレッドライブラリはこれに取り組む正しい方法ですか?(スレッドを生成し、そこに電子メールを送信しますか?)これはuwsgiのプロセスにまったく干渉しますか?
助けてくれてありがとう!
(補足:2つのuwsgiプロセスが両方ともローカルコピーのリソースを更新しようとすると、ヘッドがぶつかることについても少し心配しています...スレッドモジュールのロック機能が正しいかどうか疑問に思いますこの問題も?)
編集:明確にするために、私の主な関心事は、電子メールタスクがコード実行の一部であるということです。return_template
呼び出しの前に時間がかかり、実行されるため、ユーザーへの応答が保留されます。Flask / uwsgi環境を考えると、Pythonスレッドライブラリはこの問題に取り組む正しい方法ですか?