2016-06-15 3 views
0

私はいくつかの関数を持っていますexpensiveFunction()実行に数秒かかり、大きなサイズの(JSONで5MB)配列を返します。高価な計算をスケジュールし、Djangoの要求間にあらかじめ計算された値を使用する

どのようにしてx時間ごとに関数を実行し、その結果をどこかに格納するようにスケジュールできます。その結果、ユーザーがビューにアクセスすると、それらの事前計算された格納結果が返されます。

テキストファイルを読み書きすると、ファイルを読み込んだ後にJSONを解析するオーバーヘッドがあり、この量のデータにdjangoセッションが適していないように感じます。キーと値のストアと意志であるRedisであなたは、分散タスクキューですCeleryでスケジュールされたタスクを持っており、そのexpensiveFunctionからの結果を救うことができるジャンゴ1.9.7とPython 3.4

+0

複数の方法がありますので、最適なソリューションを選択するための詳細を提供する必要があります。管理コマンドを作成してcrontabで作成するか、JSON結果を独自のビューにしてキャッシュできます – raphv

答えて

0

を使用して

()ファイルからの読み込みのオーバーヘッドを減らします。

0

djangoを操作してcronプロセスを作成するには、非同期アプリをインストールする必要があります。

は今日では、標準的なあなたはまた、Djangoの1.10に含まれますDjangoのチャンネル、について研究ができ Celery ですが、Djangoのアプリを分離され、この時点で動作します。

関連する問題