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.
stewbawka (Guest)
on 2007-04-05 20: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?
Ezra Z. (Guest)
on 2007-04-06 02: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 Z.
-- Lead Rails Evangelist
-- removed_email_address@domain.invalid
-- Engine Y., Serious Rails Hosting
-- (866) 518-YARD (9273)
Richard E. (Guest)
on 2008-02-09 01: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
Frederick C. (Guest)
on 2008-02-09 04:28
(Received via mailing list)
On 8 Feb 2008, at 23:28, Richard E. 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
Hemant K. (Guest)
on 2008-02-09 18:58
(Received via mailing list)
On Sat, Feb 9, 2008 at 4:58 AM, Richard E.
<removed_email_address@domain.invalid> 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.