Background Processing


#1

Hi,

I have an application that accepts XML files through an HTTP POST, and
then needs to process these files and send back a response. On some
larger file sizes, this processing isn’t occurring quickly enough, and
the HTTP request times out on the client side. In addition to this,
the server could be receiving several of these files at the same time,
leaving several clients hanging. I have been doing some reading
regarding handling background processing, and was wondering if anybody
had any experience with it?

What I’m hoping to do is to receive the XML document, and then send
back a response to the client right away, before handling the
processing. In my reading I have seen that some possible solutions
might be to use ScriptRunner, or possibly to create a new Thread to
handle the processing. Does anybody have some advice on a good way to
handle this situation?

Thanks,

Simon


#2

Personally, I wouldn’t go with either of those solutions… use
Backgroundrb, this is exactly what it is built for… it interfaces
seamlessly with Rails and will do exactly what you’re asking for. You
can
find out about it at: http://backgroundrb.rubyforge.org/


#3

What you are looking for is backgroundrb.

http://brainspl.at/articles/tag/background

http://www.infoq.com/articles/BackgrounDRb

You create worker objects that go about business that you define for
them.
These workers can be initialised by user driven events such as the xml
upload in your case, or periodically from the time when the backgroundrb
server is started.

regards
ivor


#4

Simon removed_email_address@domain.invalid wrote:

What I’m hoping to do is to receive the XML document, and then send
back a response to the client right away, before handling the
processing. In my reading I have seen that some possible solutions
might be to use ScriptRunner, or possibly to create a new Thread to
handle the processing. Does anybody have some advice on a good way to
handle this situation?

I’m working on a system for stuff like this, but it’s not quite ready
yet.
Here’s what I have to far.

Cheers,
Tyler


#5

Thank you all
I am trying this now
:slight_smile:


#6

Selvaraj S. wrote:

Jin Han wrote:

Thank you all
I am trying this now
:slight_smile:

This is good plugin for background process.I am using about last six
month.But this is giving more feature than what i require.

Generally it is creating new process for every request.After completing task.
the process are still alive.This is hitting the system performance.

Is there any way to kill the completing task or know the status of the
process?

Otherwise this is good one.

Sorry i corrected the small typing mistake…


#7

Jin Han wrote:

Thank you all
I am trying this now
:slight_smile:

This is good plugin for background process.I am using about last six
month.But this is giving more feature than what i require.

Generally it is creating new process for every request.After completing
the process are still alive.This is hitting the system performance.

Is there any way to kill the completing task or know the status of the
process?

Otherwise this is good one.