Forum: Ruby Correct way to use DRb within a Rails Controller?

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.
Vrtwo L. (Guest)
on 2005-12-14 06:01
(Received via mailing list)
[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 H. (Guest)
on 2005-12-15 04:33
(Received via mailing list)
On Dec 13, 2005, at 7:59 PM, x1 wrote:

>        @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 H. - removed_email_address@domain.invalid - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com
Vrtwo L. (Guest)
on 2005-12-17 05:29
(Received via mailing list)
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.
This topic is locked and can not be replied to.