Forum: Ruby on Rails backgrounddrb problem..

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.
8889b05b9f25f84e2e6f8e66b5441155?d=identicon&s=25 stewbawka (Guest)
on 2007-04-05 18:32
(Received via mailing list)
i'm having some problems getting a simple example going with
backgrounDRB.

after i set my worker to work i try to get back the result like this:
w = MiddleMan.worker(key)

w.items comes back as DRb::DRbUnknown (i have items as attr_reader in
my worker and access it inside there with @items). the result is
actually activerecord results in an array. when i change it so my
worker puts results.inspect into @items it comes back like it should,
but when its bringing back activerecord results it seems to think its
DRbUnknown instead of an array of whatever.. what do i do?
6076c22b65b36f5d75c30bdcfb2fda85?d=identicon&s=25 Ezra Zygmuntowicz (Guest)
on 2007-04-06 00:09
(Received via mailing list)
On Apr 5, 2007, at 9:30 AM, stewbawka wrote:

> worker puts results.inspect into @items it comes back like it should,
> but when its bringing back activerecord results it seems to think its
> DRbUnknown instead of an array of whatever.. what do i do?
>


  You shouldn't pass entire ActiveRecord objects over the drb
connection as it is way slow because it has to marshall everything
before it sends it over. You woudl be better just sending an array of
id's back to rails and grabing the results in rails.

  But if you really want to pass AR objects over the drb connection
then you ned to add this line to any models you want to pass:

class MyModel < AR:Base

   include DRbUndumped

    # rest of code
end

  Then you will get the right objects instead of drbunknown.

Cheers-
-- Ezra Zygmuntowicz
-- Lead Rails Evangelist
-- ez@engineyard.com
-- Engine Yard, Serious Rails Hosting
-- (866) 518-YARD (9273)
E6a42d98b1890a5d1d486b1bd7beedad?d=identicon&s=25 Richard Everhart (richever)
on 2008-02-09 00:28
I have tried to do something like recently in my code but I get a
NoMethodError for the worker method.

> w = MiddleMan.worker(key)

Every example I've seen describing how to use BackgroundDRB is
contradictory or incomplete.  What I'd like to do is launch a thread in
the background and monitor it's progress.  I found an example of how to
do this but it doesn't seem to work.

And, where are is the documentation for MiddleMan anyway?

Any help much appreciated.

Rich
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-02-09 03:28
(Received via mailing list)
On 8 Feb 2008, at 23:28, Richard Everhart wrote:

> to
> do this but it doesn't seem to work.
>
> And, where are is the documentation for MiddleMan anyway?
>
Have you tried asking on the backgroundrb list ?

Fred
87e41d0d468ad56a3b07d9a6482fd6d5?d=identicon&s=25 Hemant Kumar (gnufied)
on 2008-02-09 17:58
(Received via mailing list)
On Sat, Feb 9, 2008 at 4:58 AM, Richard Everhart
<rails-mailing-list@andreas-s.net> wrote:
>
>  And, where are is the documentation for MiddleMan anyway?
>

Well, *many* people have encountered problems simply because, there is
just too much confusion floating around, which version of bdrb to use.
BUT, if you follow the official documentation, which is available here:

http://backgroundrb.rubyforge.org

It will work as expected. I can't change the past nor go modify past
web archives. But I know confusion is there in air.

I have also tried to summarize installation procedure here:

http://gnufied.org/2007/12/20/backgroundrb-10-released/

So, in a nutshell, just run the trunk version of plugin and everything
should be fine.
This topic is locked and can not be replied to.