Before reply Backgroundrb, leaves to explain my situation. I need make a
feed reader, and obvious, she need refreshing the feeds registreds.
Everything is running smoothly, and for to make the updater, I used
Backgroundrb. But, I can not more than one process of Backgroundrb. I’m
doing the following.
WORKER
class RefreshWorker < BackgrounDRb::MetaWorker
set_worker_name :refresh_worker
def create(args = nil)
logger.info “===========================================”
logger.info “= FEEDEEDO REFRESH =”
logger.info “===========================================”
logger.info “por Marcelo I. Machado Junior”
refresh
end
def refresh
blogs = Blog.find(:all)
blogs.each do |blog|
logger.info “#{Time.now.strftime(’%d/%m/%y %H:%M:%S’)} -
#{blog.title}”
blog.refresh
end
logger.info “#{blogs.size} blogs atualizados”
refresh
end
And the class Blog, I have the following:
def refresh
begin
feed = FeedParser.new(self.link)
self.title = feed.title
self.description = feed.subtitle.html2text if feed.subtitle
#b.publication = feed.publication || Time.now
#É percorrido cada item do feed e cadastrado no banco
feed.items.each do |item|
bi = BlogItem.create() do |i|
i.link = item.link
i.title = item.title
i.description = item.content.html2text
i.indexed_content =
Blog.prepare_content(item.content.html2text)
i.indexed_title = Blog.prepare_content(item.title || ‘’)
#i.publication = item.publication || Time.now
end
self.blog_items << bi
end
self.save
true
rescue
retry
end
end
end
But I want more instances, who knows, for a blog.