我需要在我的Sidekiq worker内访问当前的Celluloid actor,但是我不知道如何做到这一点。
每次我尝试调用:
Celluloid::Actor.current
我遇到一个错误:不在演员范围内
我试图通过每次创建一个新的演员来解决找到当前演员的问题:
Celluloid::Actor.new(SecureRandom.hex)
但是由于某种原因,它给了我一个错误:attempted to call dead actor
。
为了在Sidekiq工作者中获取当前的actor,我应该怎么做?
背景信息:我正在我的工作者中连接到一个websocket并向其发送消息。
Celluloid::WebSocket::Client.new('ws://my-uri', Celluloid::Actor.current)
@websocket_client ||= Celluloid::WebSocket::Client.new('ws://my-uri', Celluloid::Actor.current)
- ardavis