Forum: Ruby on Rails background process

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
77a811c8d7af8f0460d63a3747c85dc7?d=identicon&s=25 Ankit Parekh (ankitparekh)
on 2009-02-23 11:38
Hi all

I am working on a heavy engineering project. And the requirement is that
I needto do a lot of process before I store the data to the db.

Now the question is that I want to do the process that I am doing but I
want to do it in the background. What I actually mean to say is that..I
just want the user to get a msg that Records Saved. But in real I want
the process to go on in background.

There r multiple callbacks used in my system. Also I dont want to use
Starling or workling. pls suggest something where in my requirement is
satisfied. Since i dont want the user to wait until my process is going
on.

thanks
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-02-23 12:15
(Received via mailing list)
On 23 Feb 2009, at 10:38, Ankit Parekh wrote:

> that..I
> just want the user to get a msg that Records Saved. But in real I want
> the process to go on in background.
>
> There r multiple callbacks used in my system. Also I dont want to use
> Starling or workling. pls suggest something where in my requirement is
> satisfied. Since i dont want the user to wait until my process is
> going
> on.
>
Well one of the other background processors (bj, backgroundrb etc. )
might do the job

Fred
2101d75ccd71c5dfb984991a7ba53b9b?d=identicon&s=25 Harm (Guest)
on 2009-02-23 12:28
(Received via mailing list)
Spawn is dead easy (http://rubyforge.org/projects/spawn/). I used it
to great effect for sending emails while making the user think they
where all already sent. The others Frederick suggested work but are
more trouble than starling/workling.

Harm

On Feb 23, 12:14 pm, Frederick Cheung <frederick.che...@gmail.com>
77a811c8d7af8f0460d63a3747c85dc7?d=identicon&s=25 Ankit Parekh (ankitparekh)
on 2009-02-23 12:44
thanks for your reply but i dont want to run something like a cron job
or nething.

Since my method is very long i want it to run in background. So that the
user dont need to wait on that page while the process is going on.

Is there something where i can define that a particular method should
run in background.

Thanks
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-02-23 12:51
(Received via mailing list)
On 23 Feb 2009, at 11:44, Ankit Parekh wrote:

>
The way you do that reliably is to spawn another process to handle it.
You can do your thing in a thread but that pretty much requires that
you're using a thread safe version of rails and has limitations given
ruby's threading (eg your thread can block the whole mongrel)


Fred
46f52c33235283752423837b91c581dd?d=identicon&s=25 Norm (Guest)
on 2009-02-23 23:38
(Received via mailing list)
Ankit Parekh wrote:
>
I understand why you want to run it in the background but....what
happens if there is an error?   I do not write perfect code or test 100%
of possible code paths or run on failproof hardware so there is always a
possibility of an error.  You will seem to have the situation where the
user thinks everything was processed and saved into the db but that
might not be true.  I would not be happy if that happened with my data.
Personally I would probably want to wait to see all was really
successful.
Dd2157b57dd9e1ba853c53cbefa5633d?d=identicon&s=25 unknown (Guest)
on 2009-02-24 10:24
(Received via mailing list)
Hi Ankit,
I found a solution that looks good and simple, see
http://devblog.imedo.de/2008/6/18/running-ruby-blo....
I haven't tried it yet.
Best Regards,
Onno

On Feb 23, 5:38 am, Ankit Parekh <rails-mailing-l...@andreas-s.net>
0c31801aba0747b84974df56ade208f3?d=identicon&s=25 rob doan (Guest)
on 2009-03-01 23:49
(Received via mailing list)
I think you can use ActiveMQ and Activemessaging plugin

http://code.google.com/p/activemessaging/wiki/Acti...
http://activemq.apache.org/
This topic is locked and can not be replied to.