サイトをクロールするRubyスクリプトがあり、40分かかります。私がやりたいのは、結果をデータベースにダンプしてActiveRecord
、データに対して通常の処理を実行できるようにすることです。
- Railsアプリに入れて、スクリプトを開始する「スタート」ボタンがある場合、タイムアウトになりますか?
- 理想的には、スクリプトを少なくとも1日に1回実行し、データベースを更新する必要があります。そのため、rakeタスクを作成するのが最善の策でしょうか、それとも他の方法がありますか?
- これをRailsアプリでラップする場合、どのフォルダーにスクリプトを配置する必要があり、それにアプローチするための最良の方法は何ですか?モデルファイルにドロップすることはできません-それは意味がないからです。
- 私はこれまで「ジョブ」タイプの処理を行ったことがありませんが、これはその範囲に含まれる可能性があるようです。これを行うとき、他にどのようなことを考慮する必要がありますか?
編集1:
もう1つの質問は、この特定のRubyスクリプトを自分の/lib
ディレクトリに配置した場合、どのようにしてそれをDBと対話させるのかということです。私は通常、モデルとコントローラーからDBを操作します。実行後に結果をDBに保存するにはどうすればよいですか?