AJAX updates for execution progress status

I need to update multiple areas on my page within the same controller,
where statuses are updated as test scripts are being run and completed.
My js first renders a list of the available test cases to run, then I
have a loop running the execution of each script and doing a
page.replace_html, but nothing is rendered until everything has finished
executing.

I’m wondering how I can display the list first, then have the statuses
being updated on the page during the test script execution instead?

On Tue, Jul 8, 2008 at 7:49 PM, Michelle Li
[email protected] wrote:

I need to update multiple areas on my page within the same controller,
where statuses are updated as test scripts are being run and completed.
My js first renders a list of the available test cases to run, then I
have a loop running the execution of each script and doing a
page.replace_html, but nothing is rendered until everything has finished
executing.

I’m wondering how I can display the list first, then have the statuses
being updated on the page during the test script execution instead?

You want something along the lines of periodically call remote.

I did something vaguely like this and made a little screen cast
somewhere… lemmie look…

OK, found it:

http://www.blognow.com.au/q/64767/Screen_cast_of_multiple_progress_bar_tracker.html

And the tutorial:

http://www.blognow.com.au/q/64722/Ruby_on_Rails_and_BackgroundRB_-_multiple_progress_bars_with_ActiveScaffold.html

Hope that helps

Mikel


http://lindsaar.net/
Rails, RSpec and Life blog…

Thanks Mikel, I checked out your screencast and that looks really neat.

I installed the backgroundrb plugin along with the chronic and packet
gems but when I try starting the server using:

script/background start

I get the following error in my log file:

/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:266:in
load_missing_constant': uninitialized constant BackgrounDRb::Rails (NameError) from /usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:inconst_missing’
from
/home/mil1/QA/svn/QaEngine/trunk/lib/workers/execute_script_worker.rb:1
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:inrequire’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in
require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:innew_constants_in’
from
/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:496:in
require' from /home/mil1/QA/svn/QaEngine/trunk/vendor/plugins/backgroundrb/server/lib/master_proxy.rb:37:infind_reloadable_worker’
from
/home/mil1/QA/svn/QaEngine/trunk/vendor/plugins/backgroundrb/server/lib/master_proxy.rb:35:in
map' from /home/mil1/QA/svn/QaEngine/trunk/vendor/plugins/backgroundrb/server/lib/master_proxy.rb:35:infind_reloadable_worker’
from
/home/mil1/QA/svn/QaEngine/trunk/vendor/plugins/backgroundrb/server/lib/master_proxy.rb:12:in
initialize' from script/backgroundrb:46:innew’
from script/backgroundrb:46

I can’t seem to figure it out and I’ve tried reinstalling the plugin a
few times. Would you have any idea what would be the problem?

Thanks,
Michelle

Mikel L. wrote:

On Tue, Jul 8, 2008 at 7:49 PM, Michelle Li
[email protected] wrote:

I need to update multiple areas on my page within the same controller,
where statuses are updated as test scripts are being run and completed.
My js first renders a list of the available test cases to run, then I
have a loop running the execution of each script and doing a
page.replace_html, but nothing is rendered until everything has finished
executing.

I’m wondering how I can display the list first, then have the statuses
being updated on the page during the test script execution instead?

You want something along the lines of periodically call remote.

I did something vaguely like this and made a little screen cast
somewhere… lemmie look…

OK, found it:

http://www.blognow.com.au/q/64767/Screen_cast_of_multiple_progress_bar_tracker.html

And the tutorial:

http://www.blognow.com.au/q/64722/Ruby_on_Rails_and_BackgroundRB_-_multiple_progress_bars_with_ActiveScaffold.html

Hope that helps

Mikel


http://lindsaar.net/
Rails, RSpec and Life blog…

On Mon, Jul 14, 2008 at 3:19 PM, Michelle Li
[email protected] wrote:

/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:266:in
`load_missing_constant’: uninitialized constant BackgrounDRb::Rails
(NameError)
from

That screencast is cool, albeit a bit old(meaning your worker code is
wrong, in all probability).

You want to perhaps refer:

http://backgroundrb.rubyforge.org/

Also, there is a mailing list and IRC channel for BackgrounDRb, where
you can ask questions if in doubt.

(IRC, is not very active all the time).

On Mon, Jul 14, 2008 at 4:51 PM, Michelle Li
[email protected] wrote:

Yup I had followed the instructions on the rubyforge page just to set up
the BackgrounDRb without actually setting up any of my own workers. I
just try to start the server and I can’t get it running…

You are trying to inherit BackgrounDRb::Rails in your worker code(as
seen from exception), and that class no longer exists(it has been
removed like 6 months back) and hence I asked you to read the
documentation and try.

An empty worker looks like:

class BillingWorker < BackgrounDRb::MetaWorker
set_worker_name :billing_worker
def create(args = nil)
# method gets called, when new instance of worker is created.
end
end

Thanks for the help, I began running server and played around using
MiddleMan to create new workers in the client terminal. However, when I
try to use methods such as delete_worker() or send_request() I get
errors such as this:

NoMethodError: undefined method `delete_worker’ for
#BackgrounDRb::ClusterConnection:0xb7496648

In my background.yml file I only have the following specified so it
doesn’t seem like I’m using any clustering:


:backgroundrb:
:ip: 0.0.0.0
:port: 11008

Sorry for all the noob questions.

Thanks!

Hemant K. wrote:

On Mon, Jul 14, 2008 at 4:51 PM, Michelle Li
[email protected] wrote:

Yup I had followed the instructions on the rubyforge page just to set up
the BackgrounDRb without actually setting up any of my own workers. I
just try to start the server and I can’t get it running…

You are trying to inherit BackgrounDRb::Rails in your worker code(as
seen from exception), and that class no longer exists(it has been
removed like 6 months back) and hence I asked you to read the
documentation and try.

An empty worker looks like:

class BillingWorker < BackgrounDRb::MetaWorker
set_worker_name :billing_worker
def create(args = nil)
# method gets called, when new instance of worker is created.
end
end

Yup I had followed the instructions on the rubyforge page just to set up
the BackgrounDRb without actually setting up any of my own workers. I
just try to start the server and I can’t get it running…

Hemant K. wrote:

On Mon, Jul 14, 2008 at 3:19 PM, Michelle Li
[email protected] wrote:

/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:266:in
`load_missing_constant’: uninitialized constant BackgrounDRb::Rails
(NameError)
from

That screencast is cool, albeit a bit old(meaning your worker code is
wrong, in all probability).

You want to perhaps refer:

http://backgroundrb.rubyforge.org/

Also, there is a mailing list and IRC channel for BackgrounDRb, where
you can ask questions if in doubt.

(IRC, is not very active all the time).

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs