0

Railsアプリケーションでrakeタスクを使用しています。「少量のデータ」を処理する場合は問題ありませんが、数千のレコードを取得/計算する必要がある場合、タスクには多くの時間がかかる可能性があります。

Rake タスクは非常に理解しやすく、開発も簡単で、今後も使い続けたいと思っていますが、データが大量になる場合の推奨事項はありますか?

たとえば、マップ/リデュースアルゴリズムを考えていました。それは行く方法ですか?

4

2 に答える 2

1

遅いのはレーキではありません。Rake は、アプリケーションのインスタンスを起動し、送信したものを実行するだけです。

コードをリファクタリングして、以前は見られなかったショートカットがあるかどうかを確認できます。

同時に実行できるタスクであれば、タスクをスレッド化またはフォークすることができます。Rails アプリでこれを試みる場合は、Spawnを使用することをお勧めします。

場合によっては、ジョブに長い時間がかかることがあります。ビッグデータ = ビッグタイム。

また、1 日中定期的に rake タスクを実行している場合は、代わりに Delayed_Job などを使用してこれを処理することをお勧めします。これにより、タスクを実行する必要があるたびに Rails インスタンスを起動して終了する必要がなくなります。

于 2012-04-11T14:32:03.703 に答える
0

threachjrubyをお勧めします。

于 2012-04-11T10:00:31.777 に答える