1

Flickr の連絡先をすべて削除する方法をユーザーに提供する小さな Django Web サイトを作成しています。

これは主にSeleniumについて学習する演習であり、実際に役立つものではありません。Flickr API には連絡先を削除する方法が用意されていないため、Selenium を使用して実際の Web ブラウザーに連絡先の実際の削除を行わせています。

これには時間がかかる可能性があるため、削除が行われているというメッセージをユーザーに表示し、終了したら通知したいと思います。

Django では、ページが返された後もサーバーでタスクを実行しながら、Web ページをユーザーにすぐに返す正しい方法は何ですか?

私の Django ビュー関数は、Python スレッド モジュールを使用して、ユーザーにページを返している間、削除コードを別のスレッドで実行しますか?

4

2 に答える 2

5

いくつかのタスク キューの使用を検討してください。Django コミュニティで最も好まれているソリューションの 1 つは、RabbitMQ で Celery を使用することです。

于 2012-10-01T17:02:20.517 に答える
3

これが必要になったら、xmlrpc 経由で Django と通信する別の Python プロセスをセットアップしました。この別のプロセスは、長いリクエストを処理し、それぞれのステータスに応答できます。Django ビューは、その他のプロセスを (xmlrpc 経由で) 呼び出して、ジョブをキューに入れ、ジョブ ステータスをクエリします。私はdjangoでいくつかの適切なjsonビューを作成してxmlrpcプロセスを照会しました-そしてそれらのビュー(別名Ajax)へのjavascript非同期呼び出しを使用してhtmlページを更新しました

于 2012-10-01T19:16:54.243 に答える