accès à une var depuis un thread dans un worker

Bonsoir,

j’ai une erreur lorsque je tente d’incrémenter une var de classe depuis
un
thread lancé dans un process backgroundrb :
lorsque je fais un @@mavar_send += 1 j’obtiens un undefined method `+’
for
nil:NilClass

Pourtant celle-ci est bien initialisé à 0, le problème est le même avec
une
var d’instance.

Je lance le thread de cette manière :

class MonWorker < BackgrounDRb::Worker::RailsBase
attr_reader :mavar_send, :mavar_receive

@@mavar_send, @@mavar_receive = 0

def do_work(args)
trace = Thread.new{t_trace}
trace.join
end

def t_trace
@@mavar_send += 1
end

Autre question en rapport avec les workers backgroundrb, je souhaite
faire
communiquer des workers entre eux.
job =MiddleMan.worker(:mon_worker) marche pas depuis un autre worker

Le 20/06/07, Frédéric Logier a écrit :

Autre question en rapport avec les workers backgroundrb, je souhaite faire
communiquer des workers entre eux.
job =MiddleMan.worker(:mon_worker) marche pas depuis un autre worker

Ca marche en passant l’objet du premier worker en args du second :

MiddleMan.new_worker(:class => :FIRSTWorker,
                                  :job_key => :first_worker,
                                  :args => "")

s_worker = MiddleMan.worker(:first_worker)


MiddleMan.new_worker(:class => :SECONDWorker,
                                  :job_key => :second_worker,
                                  :args => {:first_job_key => 

s_worker})

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs