# Sugestion - Background process

**URL:** <https://www.ruby-forum.com/t/sugestion-background-process/151451>\
**Category:** Ruby\
**Created:** [October 21, 2008, 6:04pm UTC](https://www.ruby-forum.com/t/sugestion-background-process/151451 "2008-10-21T18:04:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mr\_brownstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mr\_brownstone](https://www.ruby-forum.com/u/mr_brownstone)\
**Post date:** [October 21, 2008, 6:04pm UTC](https://www.ruby-forum.com/t/sugestion-background-process/151451/1 "2008-10-21T18:04:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mr\_brownstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/59ef9b/32.png) [@mr\_brownstone](https://www.ruby-forum.com/u/mr_brownstone)\
**Post date:** [October 21, 2008, 9:29pm UTC](https://www.ruby-forum.com/t/sugestion-background-process/151451/2 "2008-10-21T21:29:44Z")

</div>

On Tue, Oct 21, 2008 at 9:33 PM, Marcelo J.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> def create(args = nil)  
> blogs.each do |blog|
> 
> ```
> bi = BlogItem.create() do |i|
> 
> ```
> 
> self.save  
> true  
> rescue  
> retry  
> end  
> end
> 
> end
> 
> But I want more instances, who knows, for a blog.

You have two options:

1. Use MiddleMan.new\_worker() to create more than one instance of your  
worker. Specifics I leave it to you.
2. Make feed fetching threaded in worker, using inbuilt thread pool.
