RSS フィードの配列を Rails の Posts テーブルに定期的にインポートしようとしています。私は今のところCronを避けようとしています。これが私がこれまでに持っているものです(アプリケーションコントローラー内)。
require 'rubygems'
require 'rufus/scheduler'
require 'feedzirra'
scheduler = Rufus::Scheduler.start_new
scheduler.every '60m' do
@users = User.all(:joins => :roles, :conditions => {:roles => {:name => "writer"}})
@users.each do |user|
if user.feed.blank?
else
FEEDZIRRA IMPORT CODE??
end
end
おそらく結論付けたように、RSS フィードの配列は、Feed フィールドを設定したライターの役割を持つユーザーからのものです。スクリプトは 60 分ごとに実行されます。
私の質問は、以前にインポートした投稿を再インポートせずにフィードをインポートする方法です? そして、私はプログラミングに不慣れで、これを単なる学習曲線プロジェクトとして行っているので、コードをより効果的にすることについて建設的な批判があれば、私はすべて耳を傾けます.
編集:考え直して、これが私のアプリケーションコントローラーにあるのは適切ですか? ページが読み込まれるたびに、このスケジューラの新しいインスタンスが作成されますよね? 私がそれで正しければ、このコードをどこに安全に置くことができますか?