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?
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:in
`const_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:in
`require'
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:in
`new_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:in
`find_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:in
`find_reloadable_worker'
from
/home/mil1/QA/svn/QaEngine/trunk/vendor/plugins/backgroundrb/server/lib/master_proxy.rb:12:in
`initialize'
from script/backgroundrb:46:in `new'
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?
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: