私が達成したいシーケンス:
- ユーザーが Web ページのボタンをクリックする
- model.py の一部の関数が実行を開始します。たとえば、インターネットをクロールしてデータを収集する
- 関数が終了すると、結果がユーザーに返されます。
関数を実行するには、model.py 内で新しいスレッドを開く必要がありますか? もしそうなら、どうすればいいですか?
私が達成したいシーケンス:
関数を実行するには、model.py 内で新しいスレッドを開く必要がありますか? もしそうなら、どうすればいいですか?
これがあなたが説明していることの例です。
User sends request
Django receives => spawns a thread to do something else.
main thread finishes && other thread finishes
... (later upon completion of both tasks)
response is sent to user as a package.
より良い方法:
User sends request
Django receives => lets Celery know "hey! do this!"
main thread finishes
response is sent to user
...(later)
user receives balance of transaction