我正在尝试定期将一组 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 提要数组来自具有 Writer 角色的用户,这些用户设置了提要字段。该脚本每 60 分钟执行一次。
我的问题是如何在不重新导入任何以前导入的帖子的情况下导入提要?而且由于我是编程新手,并且只是将其作为一个学习曲线项目进行,因此如果对使我的代码更有效有任何建设性的批评,我会全力以赴。
编辑:再想一想,这是否适合在我的应用程序控制器中?每次加载页面时都会创建此调度程序的新实例,对吗?如果我是正确的,那么我可以安全地将这段代码放在哪里?