0

ruby on rails 3.0.7 で開発されたブックマーク Web サイトがあり、ブックマークされた URL の詳細と追加されたユーザー情報を取得するために、毎回多くの rake ファイルが実行されています。レーキは毎回実行されているため、サーバーが稼働し、CPU 使用率は 100% です。すべてのレーキをデータベースに保存してキューに入れることで、レーキ ファイルを別のサーバーで実行する必要があります。

ファイルを共有してrakeタスクのキューを処理するために、別のサーバーに1つのcronを設定しました。しかし、rake タスクはまだ開発サーバーから実行されています。

別のサーバーで rake ファイルを実行するオプションはありますか? または Rails で動的 cron ジョブを設定するにはどうすればよいですか?

私を助けてください

ありがとう。

4

1 に答える 1

0

バックグラウンド ワーカーの仕事のようです。ruby には多くのソリューションがあります。

基本的な考え方は次のとおりです。タスクをキューに送信します ( / /whatever によってサポートされます)。次に、別のプロセス (ワーカー) がキューからタスクをポップし、アプリをブロックしたり影響を与えたりすることなく、バックグラウンドで実行します。当然のことながら、複数のワーカーを持つことができ、それらを他のマシンに配置することができます。

ワーカーに関する Railscast のコレクションは次のとおりです: Background Job railscasts

私の現在のお気に入りは Sidekiq です。

于 2013-02-20T06:17:07.330 に答える