Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Correct way to use DRb within a Rails Controller?

28 views
Skip to first unread message

x1

unread,
Dec 13, 2005, 10:59:56 PM12/13/05
to
[not really rails specific]
I'm unsure about what should be placed where or if it even matters.
Here's the basic rails controller:

-------please_work_controller.rb----------
class PleaseWork < ApplicationController
def get_name
@name = retrieve.name
end
def get_age
@age = retrieve.age
end
end
-------/please_work_controller.rb--------
To create your typical client DRb connection, you'll need the following:

require 'drb'
DRb.start_service
retrieve = DRbObject.new(nil,"druby://#{hostname}:#{port}")

Where should these definitions be placed? They seem to work just about
anywhere but whats the optimal placement? Also, I realize retrieve
does not *need* to be defined but since it is used throughout the
class in other methods as such..

Thanks as usual!


Eric Hodel

unread,
Dec 14, 2005, 9:30:53 PM12/14/05
to
On Dec 13, 2005, at 7:59 PM, x1 wrote:

> [not really rails specific]
> I'm unsure about what should be placed where or if it even matters.
> Here's the basic rails controller:
>
> -------please_work_controller.rb----------
> class PleaseWork < ApplicationController
> def get_name
> @name = retrieve.name
> end
> def get_age
> @age = retrieve.age
> end
> end
> -------/please_work_controller.rb--------
> To create your typical client DRb connection, you'll need the
> following:
>
> require 'drb'
> DRb.start_service
> retrieve = DRbObject.new(nil,"druby://#{hostname}:#{port}")

Depending upon how long your DRb server lives you can probably make
retrieve a global and put it in environment.rb. Score bonus points
for using NamedIdConv.

> Where should these definitions be placed? They seem to work just about
> anywhere but whats the optimal placement? Also, I realize retrieve
> does not *need* to be defined but since it is used throughout the
> class in other methods as such..
>
> Thanks as usual!

--
Eric Hodel - drb...@segment7.net - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com


x1

unread,
Dec 16, 2005, 10:27:55 PM12/16/05
to
The reason I asked this originally, was because webrick would just
come to a halt after about 10-15 http requests..

After eliminating ram/cpu/gc as the culprit, I did a netstat -a and
found loads of open sessions....

Removing DRb.start_server from the controller all together -fixed it.

0 new messages