4

関数が呼び出し元の関数にデータを返して実行を継続することは可能ですか?

アプリを使用しているマシンのバックグラウンドでクライアント サービスを実行する必要がある Web アプリを管理しています。サーバーは RPC 経由でユーザーのクライアントに接続します。クライアントは、GitHub に保存されている一連の Python スクリプトであり、Web アプリのボタンを使用して更新できる必要があります。この更新では、クライアントが GitHub から最新のコードを取得してから再起動する必要があります。私が望むのは、クライアント内の更新メソッドが更新のステータスに関する情報をサーバーにポストバックし、それがユーザーに表示されることです。したがって、この情報は、「GitHub からダウンロードしています...」、「ダウンロードが完了しました。再起動しています」、「正常に更新されました」のようなものになります。

4

2 に答える 2

2

Pythonジェネレーターを使用します。特に、yieldステートメントはあなたが求めていることを実行します。

于 2013-03-09T22:50:10.157 に答える
0

セロリなどを使ってバックグラウンドで長期にわたる仕事をし、州の情報をどこかに保存することができます。AJAXまたはWebSocketを使用して状態の更新をプルし、ページのステータスを更新するだけです。また、結果をDBに保存したくない場合に更新を取得できる、JSで作成されたいくつかのRabbitMQインターフェイスを見つけることができます。

また、これは役立つかもしれません:django.http.StreamingHttpResponse

于 2013-03-09T22:53:40.977 に答える