On 4/25/05, Robert Klemme <bob.news / gmx.net> wrote: > > "Brian Schröäer" <ruby.brian / gmail.com> schrieb im Newsbeitrag > news:7993c66305042510075b914ce7 / mail.gmail.com... > > On 25/04/05, Joe Van Dyk <joevandyk / gmail.com> wrote: > >> On 4/25/05, Brian Schröäer <ruby.brian / gmail.com> wrote: > >> > On 25/04/05, Joe Van Dyk <joevandyk / gmail.com> wrote: > >> > > Every second, a function in the class that's being made available via > >> > > DRb should be called automatically. How would I do that? > >> > > > >> > > So I'd have > >> > > > >> > > class Server > >> > > def update > >> > > # stuff gets updated > >> > > end > >> > > end > >> > > > >> > > server = DRb.start_service.... > >> > > > >> > > server.update() # <== somehow ran every second > >> > > >> > How about: > >> > > >> > update_thread = Thread.new(server) do | s | > >> > loop do > >> > sleep 1 > >> > s.update > >> > end > >> > end > >> > > >> > > > >> > > DRb.thread.join > >> > > > >> > > > >> > > >> > or is there anything special with drb that prohibits this? > >> > > >> > >> I wasn't sure about how the interactions between the threads would > >> work. I'll try the above and see how it works. > >> > >> > > > > One difference from your whish is, that this calls the function with a > > sleeptime of approximately one second, or sometimes more, and not > > every second. Calling it every second is more difficult. That's not an issue. It seems to work great. Thanks! > > > > Also, if I remember correctly, ruby threads may be blocked for some > > time by some large io activities. > > > > hope to help, > > Another issue worth mentioning is proper synchronization. But since we > don't know anything about the nature of the classes and tasks we could only > speculate. Just in case the OP needs it: have a look at Mutex and Monitor. > Syncing's also not an issue. But I'll keep that in mind. Thanks.