page.htmlをロードするビューページ(リクエスト)があるとしましょう。
page.htmlが正常に読み込まれた後、page.htmlが読み込まれてから10〜15秒後にPythonスクリプトを舞台裏で自動的に実行したいと思います。どうすれば可能ですか?
また、スクリプトのステータスを動的に表示することは可能ですか(実行中/停止中/構文エラーなど)
page.htmlをロードするビューページ(リクエスト)があるとしましょう。
page.htmlが正常に読み込まれた後、page.htmlが読み込まれてから10〜15秒後にPythonスクリプトを舞台裏で自動的に実行したいと思います。どうすれば可能ですか?
また、スクリプトのステータスを動的に表示することは可能ですか(実行中/停止中/構文エラーなど)
ユーザーがブラウザを閉じたり、jsを無効にしたりすることができるため、javascriptからスクリプトを実行するのはクリーンな方法ではありません。代わりに、django-celeryを使用して、バックグラウンドスクリプトを実行し、ステータスを確認できます。ミドルウェアから動的にスクリプトの 幸運を
クライアント側のタイムアウトをAJAXに追加して、10〜15秒後にサーバーに戻すことができます。別のビューをポイントし、そのビュー内でスクリプトを実行します。例えば:
function runServerScript() {
$.get("/yourviewurlhere", function(data) {
// Do something with the return data
});
}
setTimeout("runServerScript()", 10000);
ステータスを表示したい場合、クライアントはサーバーに複数のリクエストを返す必要があります。
セロリはそのようなユースケースに役立つかもしれません。ビューからタスク(または呼び出すスクリプト)を開始できます(必要に応じて、遅延があっても)。WebSocketのようなものを選択しない限り、ステータスレポートをブラウザに送り返すのは難しくなりますが、それは今のところ非常に実験的なものです。