Ho bisogno di accedere all'attuale attore di celluloide all'interno del mio lavoratore Sidekiq, ma non vedo un modo per farlo.Cellulaid corrente Sidekiq Attore
ogni volta che provo a chiamare:
Celluloid::Actor.current
ottengo un errore: not in actor scope
ho cercato di andare in giro a trovare l'attore corrente con la creazione di uno nuovo ogni volta con:
Celluloid::Actor.new(SecureRandom.hex)
Ma per qualche motivo mi stava dando un errore di attempted to call dead actor
.
Cosa dovrei fare in modo diverso per ottenere l'attore corrente all'interno di un lavoratore Sidekiq?
Informazione Sto collegando ad un websocket nel mio lavoratore e l'invio di messaggi ad esso.
Celluloid::WebSocket::Client.new('ws://my-uri', Celluloid::Actor.current)
Perché avete bisogno di farlo? –
Buona domanda, non pensavo fosse pertinente alla domanda. Ma mi sto collegando a un websocket nel mio lavoratore e invio messaggi ad esso. '@websocket_client || = Celluloid :: WebSocket :: Client.new ('ws: // my-uri', Celluloid :: Actor.current)' – ardavis
Sei sicuro di voler usare i lavoratori? Forse tutto ciò di cui hai bisogno è un semplice demone? –